0

我正在尝试将 DateTable 绑定到已经有在 VS 中使用 Designer 设计的列的 Datagridview。DataTable 的来源是 sql 数据库。我正在尝试使用以下代码执行此操作,该代码仅在 datagridview 中添加空白行。我还使用 DataTable 中列的名称更新了 DGV 列的 DataPropertyName 属性

SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
dataGridView1.AutoGenerateColumns = false;
DataTable dt = new DataTable();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
    dt.Columns.Add(col.Name);
    col.DataPropertyName = col.Name;
}
SqlDataAdapter sda = new SqlDataAdapter("select id,name,age,notes  from test where id = '" + txtID.Text + "'", CN);
sda.Fill(dt);
dataGridView1.DataSource = dt;

请帮助以了解为什么在没有数据的情况下将行视为空

4

2 回答 2

0

稍微修改一下你的代码:

SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
dataGridView1.AutoGenerateColumns = false;
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select id,name,age,notes  from test where id = '" + txtID.Text + "'", CN);
sda.Fill(dt);
dataGridView1.DataSource = dt;
for (int i = 0; i<dataGridView1.Columns.Count;i++)
{
dataGridView1.Columns[i].DataPropertyName = SelectionChangeCommitted.Columns[i].ColumnName;
}
于 2014-01-01T21:48:04.277 回答
0

我认为你的sda.Fill(dt); 是错误的,因为根据 SqlDataAdapter 上的参考,您可能需要填充DataSet no DataTable。查看并了解有关如何从数据库中获取数据的更多信息。尝试任何教程,而不是在 stackoverflow 上询问。

http://msdn.microsoft.com/en-us/library/ms171920.aspx
http://msdn.microsoft.com/cs-CZ/library/system.data.sqlclient.sqldataadapter.aspx

于 2013-09-15T23:01:33.400 回答