Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查SqlDataReader是否有行_C#_Sql - Fatal编程技术网

C# 检查SqlDataReader是否有行

C# 检查SqlDataReader是否有行,c#,sql,C#,Sql,在添加之前,我想检查数据库中是否还没有该工作人员。在下面的代码中,即使select语句未返回任何结果,也会执行if(dr.HasRows)语句。我不知道我做错了什么。请帮忙 using (SqlCommand sqlCommand = new SqlCommand("select COUNT(*) from [CLIENT_PROCESSING_CLIENT_INFORMATION] where Client_NB_Number = @StaffNo", sqlC

在添加之前,我想检查数据库中是否还没有该工作人员。在下面的代码中,即使select语句未返回任何结果,也会执行if(dr.HasRows)语句。我不知道我做错了什么。请帮忙

using (SqlCommand sqlCommand = new SqlCommand("select COUNT(*) from 
       [CLIENT_PROCESSING_CLIENT_INFORMATION] where Client_NB_Number 
       = @StaffNo", sqlConn))
{
    sqlCommand.Parameters.AddWithValue("@StaffNo", strStaffNumber);
    SqlDataReader dr = sqlCommand.ExecuteReader();
    string strMsg = "";
    if(dr.HasRows)
    {
       strMsg = "NB" + strStaffNumber + " already exists.";
       String Script = "<Script language=\"javascript\">alert('" + strMsg + " ') 
          </script>";
       if (!Page.ClientScript.IsClientScriptBlockRegistered("OpenAlert"))
          Page.ClientScript.RegisterClientScriptBlock(this.GetType(), 
                "OpenAlert", Script);
       return;
     }
}
使用(SqlCommand-SqlCommand=new-SqlCommand(“选择计数(*)从
[客户处理客户信息]其中客户编号
=@StaffNo”,sqlConn)
{
sqlCommand.Parameters.AddWithValue(“@StaffNo”,strStaffNumber);
SqlDataReader dr=sqlCommand.ExecuteReader();
字符串strMsg=“”;
如果(哈斯罗博士)
{
strMsg=“NB”+strStaffNumber+“已存在。”;
String Script=“警报(“+strMsg+”)
";
如果(!Page.ClientScript.IsClientScriptBlockRegistered(“OpenAlert”))
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
“OpenAlert”,脚本);
返回;
}
}

返回的是
Count(*)
,它总是返回一行结果

这里不需要读卡器,可以使用默认情况下从第一行返回第一列的

if ((int)sqlCommand.ExecuteScalar() > 0)
{
    strMsg = "NB" + strStaffNumber + " already exists.";
    String Script = "<Script language=\"javascript\">alert('" + strMsg + " ') </script>";
    if (!Page.ClientScript.IsClientScriptBlockRegistered("OpenAlert"))
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "OpenAlert", Script);
    return;
}
if((int)sqlCommand.ExecuteScalar()>0)
{
strMsg=“NB”+strStaffNumber+“已存在。”;
String Script=“警报(“+strMsg+”)”;
如果(!Page.ClientScript.IsClientScriptBlockRegistered(“OpenAlert”))
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),“OpenAlert”,脚本);
返回;
}

返回的是
Count(*)
,它总是返回一行结果

这里不需要读卡器,可以使用默认情况下从第一行返回第一列的

if ((int)sqlCommand.ExecuteScalar() > 0)
{
    strMsg = "NB" + strStaffNumber + " already exists.";
    String Script = "<Script language=\"javascript\">alert('" + strMsg + " ') </script>";
    if (!Page.ClientScript.IsClientScriptBlockRegistered("OpenAlert"))
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "OpenAlert", Script);
    return;
}
if((int)sqlCommand.ExecuteScalar()>0)
{
strMsg=“NB”+strStaffNumber+“已存在。”;
String Script=“警报(“+strMsg+”)”;
如果(!Page.ClientScript.IsClientScriptBlockRegistered(“OpenAlert”))
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),“OpenAlert”,脚本);
返回;
}
选择计数(*)将始终返回1个结果,表示行计数。
您也可以使用ExecuteScalar而不是ExecuteReader来获取此值。

选择计数(*)将始终返回1个结果,表示行数。
也可以使用ExecuteScalar而不是ExecuteReader来获取此值