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

本文探讨了在C#中使用SQL进行数据查询的技巧,包括如何安全地构造SQL语句防止SQL注入,如何利用ExecuteScalar方法获取聚合函数结果,并介绍了using语句在资源管理中的应用。

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

  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;
	            }            
            }
           
        }
       

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值