DataTable从数据库不返回任何记录。这是为什么?

时间:2019-01-23 06:17:43

标签: c# asp.net login datatable webforms

我想基于两个参数EmployeeNoPassword返回记录。我的意思是,当用户输入{/ {1}}和EmployeeNo之类的凭据时,第一个程序将检查其是否存在于数据库中。但是我对数据表有问题。数据表无行。以下是我的代码,对我来说似乎还可以,但是我不知道为什么它不起作用。这是我的代码

Password

当我将程序置于调试模式时,它什么也没找回,这是图片 enter image description here

这是我的数据库表 enter image description here

2 个答案:

答案 0 :(得分:-1)

尝试使用“ cmd.ExecuteScalar()”而不是“ cmd.ExecuteNonQuery()”

ExecuteScalar()仅返回查询第一行第一列的值。 ExecuteNonQuery()根本不返回数据:仅受插入,更新或删除影响的行数。

答案 1 :(得分:-1)

尝试此代码

        MySqlDataAdapter sda = new MySqlDataAdapter();
        cmd.Connection = con;
        sda.SelectCommand = cmd;
        DataTable dt = new DataTable();
        sda.Fill(dt);
        if (dt.Rows.Count > 0 && dt != null)
        {
            gvr_rkit.DataSource = dt;
            gvr_rkit.DataBind();
        }

SqlDataAdapter是ADO.NET数据提供程序的一部分。 SqlDataAdapter借助SqlConnection对象提供数据集和数据源之间的通信。SqlDataAdapter与DataSet一起提供断开连接的数据检索机制。

SqlDataAdapter的SelectCommand属性是一个Command对象,它从数据源中检索数据。 DataAdapter的Fill方法用于将SelectCommand的结果填充到DataSet中。 Fill方法将要填充的DataSet和DataTable对象作为参数,或者将要使用SelectCommand返回的行填充的DataTable的名称作为其参数