Create PROCEDURE [dbo].[FilesTemp]
@Colmun varchar(50),
@Test varchar(50)
as
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where ['+rtrim(@Colmun)+'] ='+@Test
exec(@Str)
在查询的时候
exec Pro_Files_Temp FilesID,'20100417F10004'
系统老是报在将 varchar 值 '20100417F10004' 转换成数据类型 int 时失败。但是我没有用INT型额,字段也都是varchar类型,有点晕,哪位大侠帮看看,谢谢了
@Colmun varchar(50),
@Test varchar(50)
as
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where ['+rtrim(@Colmun)+'] ='+@Test
exec(@Str)
在查询的时候
exec Pro_Files_Temp FilesID,'20100417F10004'
系统老是报在将 varchar 值 '20100417F10004' 转换成数据类型 int 时失败。但是我没有用INT型额,字段也都是varchar类型,有点晕,哪位大侠帮看看,谢谢了
解决方案 »
- 高手指点,SQL结果多行数据改为一行
- 存储过程 declare 一个变量赋值的问题
- 在SQL2005里用varchar(max)有什么应该注意的吗?
- 节前送分了:大家帮我看看这句SQL语句错在哪里?
- 【问题】数据下推关联查询
- 一简单更新问题,在线等!!!!!!
- 菜鸟提问
- sql 4in1 怎么安装不上去?
- 2000系统下不能安装sql的问题?
- 如何用命令自动根据已有数据库结构创建新数据库
- sql2005 导出的sql脚本在sql2000里怎么报错
- 我这句子何错?[code=SQL]select SmID from 面积计算图R WHERE Q房号='602' and Q所在层 == 'D'[/code]
Create PROCEDURE [dbo].[FilesTemp]
@Colmun varchar(50),
@Test varchar(50)
as
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where ['+rtrim(@Colmun)+'] ='''+@Test+''''
exec(@Str)
@Colmun varchar(50),
@Test varchar(50)
as
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where ['+rtrim(@Colmun)+'] ='''+@Test+''''
exec(@Str)
@Colmun varchar(50),
@Test varchar(50)
as
begin
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where ['+rtrim(@Colmun)+'] ='''+@Test+''''
exec(@Str)
end
@Colmun varchar(50),
@Test varchar(50)
as
begin
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where [' + @Colmun + '] = ''' + @Test + ''''
exec(@Str)
end
@Colmun varchar(50),
@Test varchar(50)
as
begin
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where [' + @Colmun + '] = quotename(@Test,char(39))
exec(@Str)
end这样也行
@Colmun varchar(50),
@Test varchar(50)
as
begin
Declare @Str varchar(1000)
set @Str = 'select * from tb_Files Where [' + @Colmun + ']' = quotename(@Test,char(39))
exec(@Str)
end
我执行加print @str后的语句提示“命令已成功完成。”