在将 varchar 值 'select * from soft where id=' 转换成数据类型 int 时失败
2009-10-05 02:27
549 查看
刚开始的存储过程:
create PROCEDURE [dbo].[mytest]
(
@myTable varchar(100),
@myInt int
)
AS
declare @strSQL varchar(1000);
set @strSQL ='select * from ' + @myTable + ' where id=' + @myInt
exec (@strSQL)
执行:exec mytest 'soft',10
显示错误:消息 245,级别 16,状态 1,过程 mytest,第 8 行
在将 varchar 值 'select * from soft where id=' 转换成数据类型 int 时失败。
搜了一下,发现字符串变量和整型变量不能用+,改成:
create PROCEDURE [dbo].[mytest]
(
@myTable varchar(100),
@myInt int
)
AS
declare @strSQL varchar(1000);
set @strSQL ='select * from ' + @myTable + ' where id=' + cast(@myInt as varchar(10))
exec (@strSQL)
通过。
create PROCEDURE [dbo].[mytest]
(
@myTable varchar(100),
@myInt int
)
AS
declare @strSQL varchar(1000);
set @strSQL ='select * from ' + @myTable + ' where id=' + @myInt
exec (@strSQL)
执行:exec mytest 'soft',10
显示错误:消息 245,级别 16,状态 1,过程 mytest,第 8 行
在将 varchar 值 'select * from soft where id=' 转换成数据类型 int 时失败。
搜了一下,发现字符串变量和整型变量不能用+,改成:
create PROCEDURE [dbo].[mytest]
(
@myTable varchar(100),
@myInt int
)
AS
declare @strSQL varchar(1000);
set @strSQL ='select * from ' + @myTable + ' where id=' + cast(@myInt as varchar(10))
exec (@strSQL)
通过。
相关文章推荐
- varchar 值 'select ' 转换为数据类型为 int 的列时报错
- varchar 值 '2123,2385,4516' 转换成数据类型 int 时失败
- 将 varchar 值 'null' 转换为数据类型为 int 的列时发生语法错误。
- 佩特来项目经验小集合(2)___组合查询存储过程,报错 "varchar JBID='' 转换成数据类型 int 时失败"
- varchar 值 '1,220,52转换为数据类型为 int 的列时发生语法错误
- 关于sql条件语句where id in (@参数)执行报错问题(转换成数据类型 int 时失败)(
- 关于sql where id in 转换成数据类型 int 时失败
- sql in(1,2,3)参数化查询,错误在将 varchar 值 '1,2,3,4' 转换成数据类型 int 时失败
- 在将 varchar 值 'xinpian' 转换成数据类型 int 时失败?
- 在将 varchar 值 'System.Web.UI.WebControls.DataKey' 转换成数据类型 int 时失败。
- 在将 varchar 值 ',' 转换成数据类型 int 时失败。
- 在将 varchar 值 转换成数据类型 int 时失败。
- select id,haha+'('+CAST(id as VARCHAR(20))+')' as hhaaa from db
- 句话是什么意思?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer
- 有多少行? SELECT rows FROM sysindexes WHERE id = OBJECT_ID('table_name') AND indid < 2
- 在将 varchar 值 '2,7' 转换成数据类型 int 时失败
- MSSQL 错误:在将 varchar 值 '1,2,3,5,6' 转换成数据类型 int 时失败。
- 在将 varchar 值 'system.web.ui.webcontrols.todayq 转换成数据类型 int 时失败。
- 在将varchar值转换成数据类型int时失败
- 存储过程里出错:在将 nvarchar 值 'MAX' 转换成数据类型 smallint 时失败, 的终极解决方法