sql语句加参数

sql语句加参数,第1张

你需要了解sql语句拼接和一般字符串的拼接的异同.

例如:在sql脚本语句中,字符串用单引号'',这些在C#语句中拼接"sql语句"字符串时需要注意.

你可以在vs.net中写一个用字符串拼接的sql语句,最后把它赋值给一个字符串对象.然后用断点调试区查看生成的sql语句的结果,一般sql语句较长,验证的方式都是把这段sql语句copy到sql sever的脚本文件(.sql)中去执行一下,就知道是否正确了.当然也有先在sql server 中调试好拼接字符串后再copy到程序代码中去修改的.具体方式不定.

(以上是介绍的拼接sql语句方法,不过这种方式的安全性不高,常见的sql注入式攻击就是利用的拼接sql语句的缺陷.)

你还可以考虑使用带参数的存储过程来实现,这个就需要了解存储过程的一些知识了,具体的方法我就不介绍了,关于带参数的存储过程,网上有很多例子参考.

create procedure p_select

@tablename varchar(10),

@id varchar(10)

as

declare @str varchar(4000)

set @str='SELECT * FROM'+@tablename+' where id='@id

exec (@str)

go

在vc对数据库执行各种 *** 作的过程中,直接使用sql语言查询往往是很方便的,但有时候要执行复杂的查询时,需要往sql语句中传递各种参数,比如系统时间、日期,查询的约束条件等等。例如要执行一个有日期约束的查询,最简单的方法就是:定义一个变量 CString kk("")kk.format("select * from V_SUM_TERM_POWER WHERE MEASURE_TIME =TO_DATE('"+time1+"','YYYY-MM-DD')")//其中TO_DATE('"+time1+"','YYYY-MM-DD')为一个字符串转日期的函数,time1为CString类型的日期变量,"+time1+"表示传入的参数。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11740881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存