我有如下的一条插入语句:
Insert into SendSmg (SrcNum,DstNum,MsgStr) values (SenderNum,ReceiverNum,msgcontent)
其中SenderNum,ReceiverNum,msgcontent这三个都是变量(获取其他地方的数据),但是在运行时出现如下错误:在此上下文中不允许使用 'SenderNum'。此处只允许使用常量、表达式或变量。不允许使用列名。请问这个要怎么解决啊??
谢谢!!!
Insert into SendSmg (SrcNum,DstNum,MsgStr) values (SenderNum,ReceiverNum,msgcontent)
其中SenderNum,ReceiverNum,msgcontent这三个都是变量(获取其他地方的数据),但是在运行时出现如下错误:在此上下文中不允许使用 'SenderNum'。此处只允许使用常量、表达式或变量。不允许使用列名。请问这个要怎么解决啊??
谢谢!!!
declare @SenderNum varchar(20)
declare @ReceiverNum varchar(20)
declare @msgcontent varchar(20)Insert into SendSmg (SrcNum,DstNum,MsgStr)
values (@SenderNum,@ReceiverNum,@msgcontent)
GOCREATE PROC PC_SENDSMG
@SENDERNUM INT,
@RECEIVERNUM INT,
@MSGCONTENT NVARCHAR(200)
AS
BEGIN
Insert into SendSmg (SrcNum,DstNum,MsgStr) values (@SenderNum,@ReceiverNum,@msgcontent)
END
GOEXEC PC_SENDMSG 1,9,'插入一条测试信息'SELECT * FROM SENDSMGDROP PROC PC_SENDSMG
DROP TABLE SENDSMG
可是我是要在C#代码中添加插入数据库代码,你写的那些声明在C#没办法用..我有用"& SenderNum &"试过,但提示的错误是"运算符“&”无法应用于“string”和“string”类型的操作数"
请问这个问题要怎么解决呢??我用的是SQLServer,那三个变量都是string型,插入的表列都是VARCHAR型
然后再执行,建议你使用存储过程
问题解决了^_^
也谢谢其他两位~!