CREATE procedure bbs_write_text
@table_name varchar(50), ---//表编号---对应bbs_board中id字段变量
@UserName varchar(50),
@Subject varchar(1000),
@Content text
as
declare @sql varchar(1000)
set @sql='insert '+@table_name+' (ParentID,PostTime,UserName,Subject,Content) values(0,getdate(),'''+@UserName+''','''+@Subject+''','''+@Content+''')'
exec(@sql)GO--你那样写,真正执行语句的时候,是没有单引号的。下次问问题的时候,把出错的信息也带上
@table_name varchar(50), ---//表编号---对应bbs_board中id字段变量
@UserName varchar(50),
@Subject varchar(1000),
@Content text
as
declare @sql varchar(1000)
set @sql='insert '+@table_name+' (ParentID,PostTime,UserName,Subject,Content) values(0,getdate(),'''+@UserName+''','''+@Subject+''','''+@Content+''')'
exec(@sql)GO--你那样写,真正执行语句的时候,是没有单引号的。下次问问题的时候,把出错的信息也带上
解决方案 »
- Loginless User 如何使用?
- 用asp语句,怎样从access中复制一个表含数据到sqlserver中
- SQLServer2000的备份如何还原到SQLServer2005下?
- 求个日期UPDATE 格式
- 【十万火急】“原因: 未与信任 SQL Server 连接相关联”错误如何解决???大虾救命!
- 是否SQL server2000不能在Windows2003 Server上安装
- MSSQL2005使用UTF-8编码造成显示乱码?应该如何解决??
- 数据库问题高手请进
- 一个查询问题,请大家帮个忙!
- sql server 7.0里定义触发器时能否定义触发的时机,具体说就是在数据操作前(before)触发还是数据操作后(after)触发?我现在需要在数
- 日期啊日期
- 请问怎么解答这个问题
用我上面的语句提示:
服务器: 消息 403,级别 16,状态 1,过程 bbs_write_text,行 8
对数据类型而言运算符无效。运算符为 add,类型为 text。
把这个定义为字符串型,动态SQL中中允许用字符串型的,或者你在语句中再进行转换也可以
exec()运行的语句必须保证是char,varchar,nchar,nvarchar型的
@table_name varchar(50), ---//表编号---对应bbs_board中id字段变量
@UserName varchar(50),
@Subject varchar(1000),
@Content text
as
declare @sql varchar(1000)
set @sql='insert '+@table_name+' (ParentID,PostTime,UserName,Subject,Content) values(0,getdate(),'+@UserName+','+@Subject+','+@Content+')'
exec(@sql)GO
@table_name varchar(50), ---//表编号---对应bbs_board中id字段变量
@UserName varchar(50),
@Subject varchar(1000),
@Content varchar(8000)
as
declare @sql varchar(1000)
set @sql='insert '+@table_name+' (ParentID,PostTime,UserName,Subject,Content) values(0,getdate(),'''+@UserName+''','''+@Subject+''','''+@Content+''')'
exec(@sql)GO
感谢 yjdn(无尽天空)..我照写了一个我想问两个单引号在SQL语句中表示一个单引号吗?CREATE procedure bbs_write_text5
@table_name varchar(50), ---//表编号---对应bbs_board中id字段变量
@UserName varchar(50),
@Subject varchar(1000),
@Content text
as
declare @table varchar(50)
set @table = @table_name
exec('insert '+@table+' (ParentID,PostTime,UserName,Subject,Content) values(0,getdate(),'''+@UserName+''','''+@Subject+''','''+@Content+''')')
GO