关于获取每一条查询语句的记录数的方法总结
2011-05-18 23:15
591 查看
最近做一个系统,碰到这个问题,就是要修改用户的密码,先要把用户的密码调出来,碰到判断用户输入的当前用户的密码是否正确的问题,就要判断返回的记录数是否大于0,下面说下我找到的一些方法(方法说明都在代码中)
//开始前奏部分,连接数据库 string connstr = WebConfigurationManager.ConnectionStrings["Mispersonalconn"].ConnectionString; SqlConnection Sqlconn = new SqlConnection(connstr); Sqlconn.Open(); string sql = "select * from Tb_User_Login where isnull(userName,'')='" + Session["Name"] + "' and isnull(userPass,'')='" + oldPass.Text.Trim() + "'"; SqlCommand cmd = new SqlCommand(sql, Sqlconn); //开始方法说明 ////方法二 //SqlCommand cmd = new SqlCommand("select * from Tb_User_Login where isnull(userName,'')='" + Session["Name"] + "' and isnull(userPass,'')='" + oldPass.Text.Trim() + "'", Sqlconn); //SqlDataReader read = cmd.ExecuteReader(); //int i = 0; //while (read.Read()) //{ // i++; //} //return i; /* 上面的方法还可以使用如下代码来进行判断 int row =0; row = (int)mycmd.ExecuteReade(); if(row>0) */ //方法三 写入到table中后返回第一列的记录,聪明! //DataSet ds = new DataSet(); //ds = Query("select * from tbname"); //int count = ds.Tables[0].Rows.Count; Object obresult = cmd.ExecuteScalar(); /* * 方法四--这个不适合此题 * int num = (int)cmd.ExecuteNonQuery(); * 使用这个是返回受影响的行数,对select无效,仅对更新,修改等语句有效 * * / /* * 方法一 * 因为ExecuteScalar()返回第一列,第一行的数据。第一列第一行不为空,那么 * ExecuteScalar就直接对应的值,但是如果使用的是对象的话,象我上面那样,那 * 么还要经过一道转换,如整数需要Convert.Int32(obresult)才能获得第一行第 * 一列的值。 * 但是有第一行,但是第一列为空,那么返回的是 DBNull 。一行都没有,那么 * ExecuteScalar就返回null * 如果没有转换,则可以直接用我下面的方法:obresult == null来判断查询结果 * 如果不想这样,还可以使用Convert.Tostring()来转换为字符型的空,然后来判断 */ if (obresult == null) { lbMessage.Text = "当前登陆用户的密码与输入的旧密码不匹配,请重新输入!"; return; } else { sql = "update [Tb_User_Login] set userPass='" + NewTxtPass.Text.Trim() + "'" + "where userName='" + Session["Name"] + "'"; SqlCommand sc = new SqlCommand(sql, Sqlconn); sc.ExecuteNonQuery(); lbMessage.Text = "修改密码成功!请重新登陆!"; Sqlconn.Close(); Response.Redirect("Logout.aspx"); } }
相关文章推荐
- 关于获取每一条查询语句的记录数的方法总结
- 关于SQL语句查询最近联系人聊天记录(即最近一条消息)
- 关于Hibernate查询获取多个字段的记录并封装的方法
- SQL语句分组获取记录的第一条数据的方法
- 用一条SQL语句取出第 m 条到第 n 条记录的方法
- 关于Qt/C++和QML获取屏幕大小方法的总结
- 关于mybatis的动态if语句查询报错问题和解决方法
- 关于mysql 简单的查询语句 以及常用函数的 总结
- hql中关于一对多,根据数组里面某个对象的某个属性查询的方法总结。
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 关于sql语句的limit与查询记录的下标
- 简单LinuxC程序关于实现从终端获取一条语句并统计各种字符数量(字符输入输出)
- 关于mysql 简单的查询语句 以及常用函数的 总结
- 用一条SQL语句实现向数据库中插入多条记录的方法
- MYSQL中获取得最后一条记录的语句
- 关于SQL语句中去除重复记录方法
- mongodb查询之从多种分类中获取各分类最新一条记录
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 关于postgres一条sql语句中子查询的返回值不止一个,且拼接成相关规则的字符串
- mysql连接查询-主从表连接查询:获取从表最新一条表记录;获取没有从表记录的主表信息