例如:在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+"表示传入的参数。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)