关于获取每一条查询语句的记录数的方法总结

本文介绍了一种在系统中验证并修改用户密码的方法,通过多种SQL查询方式判断用户输入的密码是否正确,并提供了具体的C#代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近做一个系统,碰到这个问题,就是要修改用户的密码,先要把用户的密码调出来,碰到判断用户输入的当前用户的密码是否正确的问题,就要判断返回的记录数是否大于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.youkuaiyun.com/jayxujia123/article/details/6430884)

 

转载于:https://www.cnblogs.com/LifeKingcn/archive/2012/07/28/2612743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值