常用SQL语句参数化集合:
在不同的SQL语句中使用参数化的方式不尽相同,但一般都是用占位符,然后用command对象添加参数如来实现,现在把常用的参数化方法列表如下:
1.select语句的参数化:使用数据库应用最多的恐怕要是查询语句了,他的参数化参数化方法比较常见。
strSql = "select * from table1 where Name=@name "
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.AddWithValue("rechargeteacher", StuRechargeRecord.ReacherTeacher)
其中Conn 为一个sqlconnection对象用来连接数据库,如果有多个参数方式相同。
2.inset语句的参数化:insert语句用于向数据库中添加一条新的记录,他的参数化方法如下:
strSql = "insert into StuCardEnroll(StuCardNo) values(@stucardno)"
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.Add("@stucardno", SqlDbType.NVarChar, 60).Value = stuenrollrecord.StuCardNo
3.update语句的参数化,用来更新数据库中某个字段的值:
strSql = "update UserLogOnRecord set LogOffTime=@logofftime <a href="mailto:StuCardNo=@"">"
cmd = New SqlCommand(strSql, Conn)
cmd.Parameters.AddWithValue("logoffdate", strTodayDate)
(参数abc应该为实体类的某个属性的值,这里由于没有列出实体类,所以用字符串abc代替,另外这个给出的sql语句是更新表中所有记录的LogOffTime字段的值为给定的值,如果仅仅要更新某条记录的该字段值则需在语句后面给出where条件)。
参数化查询数据显示的两种方法:
相信有过数据库使用经验的人都应该知道一般我们用sqlcommand对象和sqldatareader来进行查询并且来判断是否有查询记录,而如果是要将查询结果显示在界面上一般要用到的是sqldataadapter和datatable对象,(笔者一般用sqlcommand对象进行参数化查询并不是清楚如何用dataadapter对象来进行参数化查询,如能相告不胜感激),但是如果现在我想要用参数化查询并且要将查询结果显示在窗体上如何做呢,下面举两中小方法:
1.用datatable的load() 方法:
其实我们可以用sqlcommand对象+sqldatareader对象+datatable对象来进行数据显示.我们用sqlcommand对象进行参数化查询,然后然后将查询结果赋给sqldatareader对象,最后利用datatable对象的load()方法即可将sqlreader中记录放入datatable对象中,返回一个datatable对象即可。
2.用datatable的selectcommand方法
这种方法要比第一种简单一点,它直接用datatable对象+sqlcommand对象完成将查询结果放入datatable中。
cmd=new sqlcommand(sql语句,数据库连接语句)
datatable.selectcommand=cmd,然后返回datatable对象即可。
用这种方法同样可以实现显示参数化查询结果。