大家上午好!
有一个综合查询页面,查件条件可由用户选择,并增加button:和(and) 、或(or),由用户决定查询条件。
现已用sql语句在页面中实现,但觉得速度有点慢想改用存储过程实现。SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg='0' inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg='0' WHERE WareInfo.Delflg ='0' and (seleparm)seleparm是从页面传过来的参数:形式如下:
warecd='0210' or buyunit='个' 现改为存诸过程,试着传参数但没弄出来,总提示语法错误。
在此请教各位。
有一个综合查询页面,查件条件可由用户选择,并增加button:和(and) 、或(or),由用户决定查询条件。
现已用sql语句在页面中实现,但觉得速度有点慢想改用存储过程实现。SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg='0' inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg='0' WHERE WareInfo.Delflg ='0' and (seleparm)seleparm是从页面传过来的参数:形式如下:
warecd='0210' or buyunit='个' 现改为存诸过程,试着传参数但没弄出来,总提示语法错误。
在此请教各位。
解决方案 »
- 利用Aforge.Net 调用多个摄像头的一个简单问题
- devexpress 文本框如何多行显示??
- 如何把放入PictureBOX的图片,通过鼠标可以进行放大,缩小,平移功能
- 用C#如何将excel中多个工作表的内容合并到一个工作表下面
- 关于MessageBox.show()里的按钮如何自定义名字?
- 求助,DOTNET2005中Microsoft.Office.Interop.Word类中将数据以表格格式输入模板的方法
- 关于托盘控件 notifyIcon图标问题?
- 有没有高手帮忙看下这两个算法?
- 谁能帮我写一写C#等同于下面这段ASP代码的语句,学习C#中,不胜感激,分不够再加
- 怎么在DataView中筛选某列记录不重复
- 求关闭程序的c#语句
- 通过按钮调用本机的exe文件(是一个加密的录像),调用时需要输入密码,现在我想在程序里把密码写上去,点按钮的时候直接播放~请问怎么弄~
@seleparm varchar(200)
as
declare @sele varchar(256)
set @sele = "SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg='0' inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg='0' WHERE WareInfo.Delflg ='0' and "
set @sele = @sele + @seleparm
xp_ExcuteSql @sele
是这样的吗?CREATE PROCEDURE [dbo].[Query_WareInfo]
@seleparm varchar(200),
declare @sele varchar(256)
AS
set @sele ="SELECT WareCD as '商品代码'FROM dbo.WareInfo ...
WHERE WareInfo.Delflg = '0' and "
set @sele= @sele+@seleparm
xp_ExcuteSql @sele不行,有很多语法错误
Create Proc 存储过程名称
@seleparm varchar(200)
as
declare @sele varchar(256)
set @sele = "SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg='0' inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg='0'"
+ @seleparm
exec sp_sqlexec @sele
应该在'处使用''即可:
CREATE PROCEDURE [dbo].[Query_WareInfo]
@seleparm varchar(200),
declare @sele varchar(256)
AS
set @sele ="SELECT WareCD as ''商品代码'' FROM dbo.WareInfo ...
WHERE WareInfo.Delflg = ''0'' and "
set @sele= @sele+@seleparm
xp_ExcuteSql @sele
@seleparm varchar(200)
as
declare @sele varchar(256)
set @sele = 'SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg=0 inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg=0 WHERE WareInfo.Delflg =0 and '
set @sele = @sele + @seleparm
exec (@sele)
以上你的SQL我借用楼上的东西,给你改改。那样比较简单
Create Proc 存储过程名称
@warecd nvarchar(20)
@buyunit nvarchar(20)
as
SELECT WareCD,E_WareName , BuyUnit ... FROM dbo.WareInfo inner join FeeRateInfo On FeeRateInfo.CurrencyCD=WareInfo.CurrencyCD and FeeRateInfo.delflg='0' inner join WareTypeInfo on WareTypeInfo.WaretypeCD=Wareinfo.WareTypeCD and WareTypeInfo.Delflg='0' WHERE WareInfo.Delflg ='0' and warecd=@warecd or buyunit =@buyunit
以上存储过程
exec 存储过程名称 '0210' '个'
以上在查询执行
是不确定的,完全由用户决定.