以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 存储过程中的输入参数能否是表达式? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92625) |
-- 作者:happyft -- 发布时间:2016/11/8 23:57:00 -- 存储过程中的输入参数能否是表达式? 如查储存过程的输入参数是一个表达式,要怎么写才正确? Dim strflt As String = " 进出日期 > \'2016-9-30\'" 。。。。。 cmd.CommandText = "Exec tj_inoutstock \'" & strflt & "\'" 有单引号 cmd.CommandText = "Exec tj_inoutstock " & strflt & " 不要单引号 cmd.CommandText = "Exec tj_inoutstock N\'strflt " 按sql语法在变量前面加N\' tbl.DataSource = cmd.ExecuteReader 上面三种方式写运行储存过程都会出错,请问应该如何写才对? 谢谢 |
-- 作者:有点蓝 -- 发布时间:2016/11/9 8:41:00 -- Dim strflt As String = " 进出日期 > \'\'2016-9-30\'\'" 。。。。。 cmd.CommandText = "Exec tj_inoutstock \'" & strflt & "\'" 有单引号
|
-- 作者:有点色 -- 发布时间:2016/11/9 12:26:00 -- 一般,拼接sql语句的时候,都要把单引号处理一下
Dim strflt As String = " 进出日期 > \'2016-9-30\'" strflt = strflt.Replace("\'", "\'\'") [此贴子已经被作者于2016/11/9 12:26:01编辑过]
|
-- 作者:HappyFt -- 发布时间:2016/11/9 12:56:00 -- 在储存过程时面反复试了很久都不知道,原来是这里出的问题,谢谢两位老师! |