sql2000里有个字段是ntext,在存储过程里怎么转呢?

cannycsy 2008-03-08 08:58:14
sql2000里有个字段是ntext,在存储过程里怎么转呢?

CREATE PROC dbo.txtgc
@x_content as ntext

declare @sqlfbxx nvarchar(4000)
BEGIN

set @sqlfbxx='insert into text(content)values('+@x_content+')'
exec(@sqlfbxx)

END
GO
...全文
129 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengqscjh 2008-03-15
  • 打赏
  • 举报
回复
执行的时候带引号
cannycsy 2008-03-15
  • 打赏
  • 举报
回复
谢谢大家参与,知识要不断学习.
changjiangzhibin 2008-03-15
  • 打赏
  • 举报
回复
请版主审查
qiyousyc 2008-03-15
  • 打赏
  • 举报
回复
导分贴!
cannycsy 2008-03-14
  • 打赏
  • 举报
回复
像下面这种写法吗?


CREATE PROC proc_txt
(@x_content as varchar(100),
@tablename varchar(30)
)
as
declare @s varchar(100)
set @s='insert into '+ @tablename+'(context)'+'values("'+@x_content+'")'
exec(@s)
GO




我这边测试有中文还是错哦.
chengqscjh 2008-03-10
  • 打赏
  • 举报
回复
这样写可以支持,关键在于'values('+@x_content+')'里面如果是中文的话,字符是要引号的.

execute proc_txt @x_content="'李四'",@tablename='t_text'

chengqscjh 2008-03-10
  • 打赏
  • 举报
回复

CREATE PROC proc_txt
(@x_content as varchar(100),
@tablename varchar(30)
)
as
declare @s varchar(100)
set @s='insert into '+ @tablename+'(context)'+'values('+@x_content+')'
exec(@s)
GO



execute proc_txt @x_content=123,@tablename='t_text'
这样确实不支持字符,可以用数字,你到sql版去问一下那边的高手.
cannycsy 2008-03-10
  • 打赏
  • 举报
回复
create table t_text(ID INT IDENTITY(1,1),context varchar(100))

CREATE PROC proc_txtgc
(@x_content as varchar(100)
)
as
insert into t_text(context) values(@x_content)
GO

execute proc_txtgc @x_content='李四'


这个写法表名不可以用变量来表示哦.

如:

create table t_text(ID INT IDENTITY(1,1),context varchar(100))

CREATE PROC proc_txtgc
(@x_content as varchar(100),@x_table as varchar(100)
)
as
insert into @x_table(context) values(@x_content)
GO

execute proc_txtgc @x_content='李四'


当这样写时就会出错了.我上面那种写法,表名可以用变量,但不支持中文数据.
cannycsy 2008-03-08
  • 打赏
  • 举报
回复
还有个问题,用这种存储过程写法怎么不支持中文的?要支持中文怎么写?
lucky749 2008-03-08
  • 打赏
  • 举报
回复
学习
changjiangzhibin 2008-03-08
  • 打赏
  • 举报
回复
use varchar
tomiehu 2008-03-08
  • 打赏
  • 举报
回复
参数定义的是ntext,但是输入进来的你不能确定,如果能决定输入进来的是ntext类型就可以。否则换用varchar
qiyousyc 2008-03-08
  • 打赏
  • 举报
回复
不能转换的,用varchar
chengqscjh 2008-03-08
  • 打赏
  • 举报
回复
哦错了
改成这句

insert into t_text(context) values(@x_content)
chengqscjh 2008-03-08
  • 打赏
  • 举报
回复

create table t_text(ID INT IDENTITY(1,1),context varchar(100))

CREATE PROC proc_txtgc
(@x_content as varchar(100)
)
as
insert into t_text(context) values('+@x_content+')
GO

execute proc_txtgc @x_content='李四'


------------
可以,你写的语句存在问题

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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