dataGridView不显示数据库记录
本文关键字:记录 数据库 显示 dataGridView | 更新日期: 2023-09-27 17:50:59
我尝试了很多不同的方法,但似乎真的找不到解决这个令人困惑的问题的方法。
代码:public Menu()
{
InitializeComponent();
}
//connection class
connection cc = new connection();
//displaying current office employees
public void display()
{
DataTable table = new DataTable();
SqlConnection con = new SqlConnection(cc.connectDB());
con.Open();
SqlCommand cmd = new SqlCommand(" select USERID, NAME, INLATE from USERINFO", con);
cmd.ExecuteNonQuery();
SqlDataReader c = cmd.ExecuteReader();
table.Columns.Add("USERID", typeof(string));
table.Columns.Add("NAME", typeof(string));
table.Columns.Add("INLATE", typeof(string));
while (true)
{
if (c.Read() == true)
{
table.Rows.Add(c.GetValue(0).ToString().Trim(), c.GetValue(1).ToString().Trim(), c.GetValue(3).ToString().Trim());
}
else
break;
}
dataGridView1.DataSource = table;
}
这是一个简单的应用程序构建,要求数据在dataGridView对象中显示。
请救救我。
呵呵,您选择了查询,运气不好。ExecuteNonQuery永远不会返回任何结果。它是你在运行UPDATE, INSERT或DELETE时使用的。现在,当您想要读取值时,您需要执行读取器。
SqlCommand cmd = new SqlCommand(" select USERID, NAME, INLATE from USERINFO", con);
SqlDataReader c = cmd.ExecuteReader();
确保查询获取任何结果(如果您没有从任何数据库客户端访问,例如Management Stydio)试一试:
List <string> l1=new List <string>();
SqlDataReader c = cmd.ExecuteReader();
while (c.Read())
{
l1.Add(c[0].ToString());
}
c.CLose();
con.CLose();
Messabox.Show(li.Count.ToString());
return;
dataGridView1.DataSource = table.AsDataView();
你可以从这里开始判断问题是出在查询还是出在数据表
使用实际的服务器名称和凭据使我能够调用具有可访问反馈的查询,感谢所有帮助的人…