存储过程中的单引号的问题!

ingernew 2003-08-20 01:53:49
set @cSQL='Select * FROM BCParts where Store in ('''+@Store+''')'
EXEC (@cSQL)

为什么发生了第 2 行: ',' 附近有语法错误。
我用的值是@Store="FPP','FPG"
是不单引号用的不对,我该怎样解决谢谢!
...全文
39 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ingernew 2003-08-20
  • 打赏
  • 举报
回复
通过了,是我不小心:)
ingernew 2003-08-20
  • 打赏
  • 举报
回复
试了,但通过C#传值就不行了:(
zjcxc 2003-08-20
  • 打赏
  • 举报
回复
应该没问题啊.
试试在查询分析器中用下面的语句调用是否正确?

exec sp_FactoryRun_GetEngineer1 'fpp'',''fpg'
ingernew 2003-08-20
  • 打赏
  • 举报
回复
这是C#:调用sp_FactoryRun_GetEngineer1存储过程!
public DataSet GetEngineer1byPage(string store)
{
SqlParameter[] parameters={
new SqlParameter("@Store",SqlDbType.NVarChar,550)
};

parameters[0].Value="FPP','FPG";


return RunProcedure("sp_FactoryRun_GetEngineer1",parameters,page1,page2,"Engineer1byPage");
}


这是存储过程:

CREATE PROCEDURE sp_FactoryRun_GetEngineer1
@Store nvarchar(550)
AS
declare @cSQL nvarchar(900)


set @cSQL='SELECT * FROM BCParts where Store in ('''+@Store+''')'


exec(@cSQL)
zjcxc 2003-08-20
  • 打赏
  • 举报
回复
将你的全部语句贴出来.并注明你用的工具.
愉快的登山者 2003-08-20
  • 打赏
  • 举报
回复
TRY:

set @store='''fpp'',''fpg'''
set @cSQL='Select * FROM BCParts where Store in ('+@Store+')'
EXEC (@cSQL)
ingernew 2003-08-20
  • 打赏
  • 举报
回复
不行,试了还是不行
lansquenet 2003-08-20
  • 打赏
  • 举报
回复
把双引号改成单引号
单引号改成两个单引号
TRY:

set @store='fpp'',''fpg'
set @cSQL='Select * FROM BCParts where Store in ('''+@Store+''')'
EXEC (@cSQL)
lansquenet 2003-08-20
  • 打赏
  • 举报
回复
把双引号改成单引号
单引号改成两个双引号
TRY:

set @store='fpp'',''fpg'
set @cSQL='Select * FROM BCParts where Store in ('''+@Store+''')'
EXEC (@cSQL)
ingernew 2003-08-20
  • 打赏
  • 举报
回复
发生了
第 2 行: '' 附近有语法错误。
CrazyFor 2003-08-20
  • 打赏
  • 举报
回复
TRY:

set @store='fpp'',''fpg'
set @cSQL='Select * FROM BCParts where Store in ('''+@Store+''')'
EXEC (@cSQL)

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧