C# SqlDataReader = 空?

标签 c# sql

            String sqlCheckPass = 
"Select * from Login where Username like @Username and Password like @Password";
        SqlCommand SqlCom = new SqlCommand(sqlCheckPass, myConnection);
        SqlCom.Parameters.Add(new SqlParameter("@Username", sUserName));
        SqlCom.Parameters.Add(new SqlParameter("@Password", sPassword));

        myConnection.Open();
        SqlDataReader myreader;
        myreader = SqlCom.ExecuteReader();
        int id = -1;

ErrorBox.InnerHtml = "Username:" + sUserName + ":" + sPassword + ":<br/>";
while (myreader.HasRows)
{
    id = (int)myreader["id"];
    String sUser = (String)myreader["Username"];
    String sPass = (String)myreader["Password"];
    ErrorBox.InnerHtml += "UserId is <b>" + id + "</b> " + sUser + ":" + sPass + ":<br >";
    Session["LoginID"] = id;
    Server.Transfer(ReturnPage);

}
if (id == -1)
{
    ErrorBox.InnerHtml = "Incorrect Password";
}
myConnection.Close();
catch (Exception err)
{
    ErrorBox.InnerHtml = "Error Getting  Option ID" + err.Message;
}

我在 myreader = SqlCom.ExecuteReader(); 处添加了一个断点;它一直将 myreader 返回为 null 和 HasRows = False,但它确实有行。因此,它一直验证我的登录信息不正确,因为 id = -1,

帮忙吗?

最佳答案

您没有将您的阅读器连接到您的 SQL 连接/命令?

SqlConnection myConnection = new SqlConnection(myConnectionString);
SqlCommand myCommand = new SqlCommand(mySelectQuery, myConnection);
myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
while(myReader.Read()) 
{
   Console.WriteLine(myReader.GetString(0));
}
myReader.Close();

关于C# SqlDataReader = 空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2500747/

相关文章:

SQL,左连接表,如何只保留一个值?

c# - 如何创建引用多个控件的WPF行为?

c# - Chrome 原生消息

c# - Entity Framework 中的 DateTime && sql 格式的 DateTime 返回不同的结果

php - php中mysql的左连接/外键问题

mysql - 使用 SELF JOIN 搜索

mysql - 如何仅获取具有最大值的行的 GROUP_CONCAT

c# - 使用 2 个 Visual Studio 2015 实例 : error CS2012 "file is being used by another process"

c# - 在 C# (Visual Studio) 中将 WAV 文件转换为 FLAC

c# - 使用 Fluent NHibernate 自动映射字典时,不考虑元素列长度