sql数据库中的using和ExecuteScalar()注意点

  int r = (int)cmd.ExecuteScalar();//注意Object类型需强制转换为int 

  1.当ExecuteScalar执行的是聚合函数的时候,返回的不可能是null,如果执行的sql语句不是聚合函数返回的有可能是null

  2.using相当于try.......finally,会自动调用dispose方法,所以连接对象打开后conn.open,不用再调用conn.colose

 


        private bool CheckUserInputOldPwd(string oldpwd, int autoid)
        {
            string sql = string.Format("select count(*) from UserLogin where autoid = '{0}' and loginpwd = '{1}'", autoid, oldpwd);//注意学会这种写法
            string constr = "Data Source = S7LVYWSI0SBPKLU;Initial Catalog = User;Integrated Security = True"; 
            using(SqlConnection con = new SqlConnection(constr))
            {
                using(SqlCommand cmd = new SqlCommand(sql,con))
	            {
		            con.Open();
                    int r = (int)cmd.ExecuteScalar();//注意Object类型需强制转换为int
                    return r>0;
	            }            
            }
           
        }
       

      

 

你可能感兴趣的:(C#,SQL,数据库)