将参数传递给动态SQL [英] Passing Paramters to Dynamic SQL

查看:92
本文介绍了将参数传递给动态SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

样本SP
我的参数应类似于-``DOB''''1/12/1980''''AND''''1/1/2080''''''(检查双引号)
-SelectEmp''在''''1/12/1980''''和''''1/1/2080''''''
之间的DOB

Sample SP
My parameter should be like - ''DOB BETWEEN ''''1/12/1980'''' AND ''''1/1/2080'''''' (Check double quotes)
-- SelectEmp ''DOB BETWEEN ''''1/12/1980'''' AND ''''1/1/2080''''''

ALTER PROCEDURE SelectEmp
	-- Add the parameters for the stored procedure here
	@DOB nvarchar(max)
AS
BEGIN
	SET NOCOUNT ON;
DECLARE @SQL VARCHAR(MAX)
set @Sql = 'select * from emp where '+  @DOB
print @Sql
exec  (@Sql)
END
GO



我的.Net代码:-



My .Net Code :-

cn.Open();
               SqlCommand cmd = new SqlCommand("SelectEmp", cn);
               cmd.CommandType = CommandType.StoredProcedure;
               cmd.Parameters.Add("@DOB", SqlDbType.VarChar, 1000);
               cmd.Parameters["@DOB"].Value = "DOB BETWEEN "+"'''"+ "1/12/1980"+"''"+" AND "+ "'''"+ "1/1/2000"+"''"+"";
               SqlDataReader dr;
               dr = cmd.ExecuteReader();
               while (dr.Read())
               {
                   Response.Write("Hi");
               }



我是gettinh错误语法不正确

有人可以帮我吗..



I am gettinh Error Incorrect Syntax

Can someone please help me ..

推荐答案

尝试修改该行,如下所示.
Try to modify the line something like this.
cmd.Parameters["@DOB"].Value = "DOB BETWEEN " + "''" + "1/12/1980" + "''" + " AND " + "''" + "1/1/2000" + "''";



好像有多余的"/"引号.



Seems like there are extra ''/" quotes.


尝试修改这样的行.
Try to modify the line something like this.
cmd.Parameters["@DOB"].Value = "DOB BETWEEN " + "''" + "1/12/1980" + "''" + " AND " + "''" + "1/1/2000" + "''";



好像有多余的"/"引号.



Seems like there are extra ''/" quotes.


它的工作原理...非常感谢...
看到
,我想得太多了
``在''''1/12/1980''''和''''1/1/2080''''''之间进行双引号(检查双引号)
Hi It worked ...Thanks a lot...
I was thinking too much by Seeing

''DOB BETWEEN ''''1/12/1980'''' AND ''''1/1/2080'''''' (Check double quotes)


这篇关于将参数传递给动态SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆