C# アプリケーションにリンクした SQL Server データベースがあります。データは、アプリケーションの datagridview にバインドされます。以下のコードに示すように、これは 1 つのテーブル コマンドからの単純な選択では問題なく機能します。ただし、より複雑なクエリに基づいて複数のテーブルのデータを datagridview に表示したいのですが、以下のコマンドを複雑なクエリに置き換えようとすると、多くのエラーが発生します。
SELECT DISTINCT f_name, l_name, grade, mentor_name
FROM [Person] P, [Exam] E, [Mentor] M
WHERE P.Person_id = E.Person_id
AND P.Person_id = M.Person_id
誰かがあれば、私のデータを表現する他の方法についての提案を受け入れます。
public partial class Form1 : Form {
private BindingSource bindingSource1 = new BindingSource();
public Form1() {
InitializeComponent();
dataGridView1.Dock = DockStyle.Fill;
}
private void Form1_Load(object sender, EventArgs e) {
dataGridView1.DataSource = bindingSource1;
GetData("SELECT * from Person");
}
private void GetData(string command) {
String connectionString = "Data Source=MY-PC\\USER;Initial Catalog=MyDatabase;Integrated Security=True";
SqlDataAdapter dataAdapter = new SqlDataAdapter(command, connectionString);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource1.DataSource = table;
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
}
}
ありがとう。