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对象中显示。

请救救我。

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();

你可以从这里开始判断问题是出在查询还是出在数据表

绑定数据的方式上

使用实际的服务器名称和凭据使我能够调用具有可访问反馈的查询,感谢所有帮助的人…