pConn->Execute("CREATE PROC MMdb.dbo.UpdateCoding\
@TableName nvarchar(20),\
@Types nvarchar(3),\
@Number nvarchar(6),\
@Text nvarchar(20)\
AS\
declare @Sqlstr1 nvarchar(1000)\
declare @Sqlstr2 nvarchar(1000)\
SET @Sqlstr1='UPDATE MMdb.dbo.' +@TableName+ ' SET Text=' +@Text+ ' WHERE Types=' +@Types+ ',Number=' +@Number\
EXEC(@Sqlstr1)\
IF @@rowcount=0\
SET @Sqlstr2='INSERT INTO MMdb.dbo.' +@TableName+ 'VALUES (' +@Types+ ',' +@Number+','+@Text\
EXEC(@Sqlstr2)",NULL,adCmdText);
这句执行异常不,求人帮忙看下这句创建存储过程为何失败,我就是想实现动态更新或插入记录到指定表。
CREATE PROC MMdb.dbo.UpdateCoding--MMdb.dbo.
这段话可以通过但是执行有问题....
SET @Sqlstr1='UPDATE MMdb.dbo.' +@TableName+ ' SET Text=' +@Text+ ' WHERE Types=' +@Types+ ' AND Number=' +@Number
在查询分析器中执行这段过程会报这句有错误
服务器: 消息 207,级别 16,状态 3,行 1
[Microsoft][ODBC SQL Server Driver][SQL Server]列名 '中国' 无效。@RETURN_VALUE = N/A
@Text值为"中国"
如果字段类型时字符串的,动态sql语句里要加' ,因为再引号内所以要进行转义,所以就是''