if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SEARCH_PPXX1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SEARCH_PPXX1]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SEARCH_PPXX1]
(
@BL_ID int,
@LC_ID int,
@PP_ID int
)
ASdeclare @sqlstr varchar(1000)if(@LC_ID<>0 and @BL_ID=0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID='''+@LC_ID+''''
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1'
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID<>0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1 and A.PP_ID=1'exec (@sqlstr) GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
错误:
System.Data.SqlClient.SqlException: 将 varchar 值 'select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID and A.LC_ID='' 转换为数据类型为 int 的列时发生语法错误。
drop procedure [dbo].[SEARCH_PPXX1]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SEARCH_PPXX1]
(
@BL_ID int,
@LC_ID int,
@PP_ID int
)
ASdeclare @sqlstr varchar(1000)if(@LC_ID<>0 and @BL_ID=0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID='''+@LC_ID+''''
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1'
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID<>0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1 and A.PP_ID=1'exec (@sqlstr) GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
错误:
System.Data.SqlClient.SqlException: 将 varchar 值 'select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID and A.LC_ID='' 转换为数据类型为 int 的列时发生语法错误。
解决方案 »
- windows7下sysmtem32/drivers/etc此文件名老自动变数字
- ScriptManager.RegisterStartupScript 方法无效
- formview 或 detailview中想实现后台记录哪些字段做了修改,怎么实现?
- |M| 急求一个彩信服务商 大家介绍介绍 我的城市为广州
- 急~~~~iframe 获取父页面的URL 父页面为静态~不用JavaScript
- 晕,什么情况? 为什么msgbox会出错?
- PetShop里没有做宠物添加,管理的功能??
- 菜鸟发问~~!!
- 请问如何往javascript语句里面传递参数[有代码]~
- vs2008删除没有代码的事件
- 用vs.net编写asp.net的朋友看一看,帮一帮一个新手,叫新手感受这里的朋友的热情
- 数据库多用户使用和连接未关闭的异常问题?
A.LC_ID='' //这里A.LC_ID是整形,怎么能和''比较? 将''改成一个数值试一下.
2.
如果不行的话:
你看一下: 表PPXX LCXX BLXX 这三个表的: ID字段都是不是整型的.
你在将参数传到存储过程里的时候,
是否都已经是可心正常转换成int类型的了。。
drop procedure [dbo].[SEARCH_PPXX1]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SEARCH_PPXX1]
(
@BL_ID int,
@LC_ID int,
@PP_ID int
)
ASdeclare @sqlstr varchar(1000)if(@LC_ID<>0 and @BL_ID=0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and convert(varchar(20),A.LC_ID)='''+convert(varchar(20),@LC_ID)+''''
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID=0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1'
if(@LC_ID<>0 and @BL_ID<>0 and @PP_ID<>0)
set @sqlstr='select A.PP_NAM,A.PP_LOGO,B.LC_NAM,C.BL_NAM from PPXX A,LCXX B,BLXX C
where A.LC_ID=B.LC_ID and A.BL_ID=C.BL_ID and C.LC_ID=B.LC_ID
and A.LC_ID=1 and A.BL_ID=1 and A.PP_ID=1'exec (@sqlstr) GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO