zoukankan      html  css  js  c++  java
  • 关于获取每一条查询语句的记录数的方法总结

           最近做一个系统,碰到这个问题,就是要修改用户的密码,先要把用户的密码调出来,碰到判断用户输入的当前用户的密码是否正确的问题,就要判断返回的记录数是否大于0,下面说下我找到的一些方法(方法说明都在代码中)

     

     1 //开始前奏部分,连接数据库  
     2     string connstr = WebConfigurationManager.ConnectionStrings["Mispersonalconn"].ConnectionString;  
     3     SqlConnection Sqlconn = new SqlConnection(connstr);  
     4     Sqlconn.Open();  
     5     string sql = "select * from Tb_User_Login where isnull(userName,'')='" + Session["Name"] + "' and isnull(userPass,'')='" + oldPass.Text.Trim() + "'";  
     6     SqlCommand cmd = new SqlCommand(sql, Sqlconn);  
     7     //开始方法说明  
     8     ////方法二  
     9     //SqlCommand cmd = new SqlCommand("select * from Tb_User_Login where isnull(userName,'')='" + Session["Name"] + "' and isnull(userPass,'')='" + oldPass.Text.Trim() + "'", Sqlconn);  
    10     //SqlDataReader read = cmd.ExecuteReader();  
    11     //int i = 0;  
    12     //while (read.Read())  
    13     //{  
    14     //    i++;  
    15     //}  
    16     //return i;  
    17     /* 
    18       上面的方法还可以使用如下代码来进行判断 
    19       int row =0; 
    20       row = (int)mycmd.ExecuteReade(); 
    21       if(row>0) 
    22     */  
    23   
    24     //方法三 写入到table中后返回第一列的记录,聪明!  
    25     //DataSet ds = new DataSet();  
    26     //ds = Query("select * from tbname");  
    27     //int count = ds.Tables[0].Rows.Count;  
    28     Object obresult = cmd.ExecuteScalar();  
    29     /* 
    30      * 方法四--这个不适合此题 
    31      * int num = (int)cmd.ExecuteNonQuery(); 
    32      * 使用这个是返回受影响的行数,对select无效,仅对更新,修改等语句有效 
    33      *  
    34      * / 
    35       
    36     /* 
    37      * 方法一 
    38      * 因为ExecuteScalar()返回第一列,第一行的数据。第一列第一行不为空,那么 
    39      * ExecuteScalar就直接对应的值,但是如果使用的是对象的话,象我上面那样,那 
    40      * 么还要经过一道转换,如整数需要Convert.Int32(obresult)才能获得第一行第 
    41      * 一列的值。 
    42      * 但是有第一行,但是第一列为空,那么返回的是 DBNull 。一行都没有,那么 
    43      * ExecuteScalar就返回null 
    44      * 如果没有转换,则可以直接用我下面的方法:obresult == null来判断查询结果 
    45      * 如果不想这样,还可以使用Convert.Tostring()来转换为字符型的空,然后来判断 
    46      */  
    47     if (obresult == null)  
    48     {  
    49         lbMessage.Text = "当前登陆用户的密码与输入的旧密码不匹配,请重新输入!";  
    50         return;  
    51     }  
    52     else  
    53     {  
    54         sql = "update [Tb_User_Login] set userPass='"  
    55         + NewTxtPass.Text.Trim() + "'" + "where userName='"  
    56          + Session["Name"] + "'";  
    57         SqlCommand sc = new SqlCommand(sql, Sqlconn);  
    58         sc.ExecuteNonQuery();  
    59         lbMessage.Text = "修改密码成功!请重新登陆!";  
    60         Sqlconn.Close();  
    61         Response.Redirect("Logout.aspx");  
    62     }  
    63 }  

    (PS:以上转载至http://blog.csdn.net/jayxujia123/article/details/6430884)

     

  • 相关阅读:
    [LeetCode] 64. 最小路径和 ☆☆☆(动态规划)
    [LeetCode] 62. 不同路径 ☆☆☆(动态规划)
    [LeetCode] 25. K 个一组翻转链表 ☆☆☆☆☆(链表)
    jquery validate 多种使用方式
    javascript 闭包学习
    javascript prototype学习
    jquery中event对象属性与方法小结
    html5获取地理位置信息
    thinkphp 构建子查询
    mongodb gridfs基本使用
  • 原文地址:https://www.cnblogs.com/LifeKingcn/p/2612743.html
Copyright © 2011-2022 走看看