create procedure p_cxorder
@s nVarchar(3000)
as
declare @SQLText nvarchar(4000)
set @SQLText='select Cpname as 公司名称,ClientID as 客户代号,Stonekind as 石种,Number as 单号,Rankname as 品名,Standard as 规格,convert(varchar(10),Siglecount1) as 单价,Amount1 as 数量,convert(varchar(10),Total1) as 本单小计,Signdate as 定单日期,Falldate as 交货日期,Re as 备注
from inorder where ' + @s + ' union select Cpname+''合计'','''','''','''','''','''','''','''',convert(varchar(10),sum(Total1)),'''','''',''''
from inorder where ' + @s + 'Group by Cpname' + ' union select ''总计'','''','''','''','''','''','''','''',convert(varchar(10),sum(Total1)),'''','''',''''
exec(@SQLText)
这个是我创建的要用来进行查询的``````
在DELPHI中我是如下调用的但出现了如题的异常:
with fdata.p_cxorderproc do
begin
close;
s := '' + s10 + ' like ''' + s11 + '''';
parameters.ParamByName('@s').Value := s;
open;
end;
其中S10字段名我跟踪了没问题,但问题出在S11上面了```S10的获值情况:
procedure TFctorder.ComboBox2Change(Sender: TObject);
begin
case combobox2.ItemIndex of
0: s10 := 'ClientID';
1: s10 := 'Cpname';
end;
end; //S10的获取S11的获值情况:
s11 := '%' + trim(edit1.Text) + '%';
当我从EDIT1中输入g的时候s11='%g%'
但当我从EDIT1中输入"安"(这个引号我没输入)的时候s11的值却是
s11='%安 //就这样后面少了个引号不知道为什么,请高手门赐教``````急啊``~~~可以加小弟的QQ:254734866指教```在线等待```
@s nVarchar(3000)
as
declare @SQLText nvarchar(4000)
set @SQLText='select Cpname as 公司名称,ClientID as 客户代号,Stonekind as 石种,Number as 单号,Rankname as 品名,Standard as 规格,convert(varchar(10),Siglecount1) as 单价,Amount1 as 数量,convert(varchar(10),Total1) as 本单小计,Signdate as 定单日期,Falldate as 交货日期,Re as 备注
from inorder where ' + @s + ' union select Cpname+''合计'','''','''','''','''','''','''','''',convert(varchar(10),sum(Total1)),'''','''',''''
from inorder where ' + @s + 'Group by Cpname' + ' union select ''总计'','''','''','''','''','''','''','''',convert(varchar(10),sum(Total1)),'''','''',''''
exec(@SQLText)
这个是我创建的要用来进行查询的``````
在DELPHI中我是如下调用的但出现了如题的异常:
with fdata.p_cxorderproc do
begin
close;
s := '' + s10 + ' like ''' + s11 + '''';
parameters.ParamByName('@s').Value := s;
open;
end;
其中S10字段名我跟踪了没问题,但问题出在S11上面了```S10的获值情况:
procedure TFctorder.ComboBox2Change(Sender: TObject);
begin
case combobox2.ItemIndex of
0: s10 := 'ClientID';
1: s10 := 'Cpname';
end;
end; //S10的获取S11的获值情况:
s11 := '%' + trim(edit1.Text) + '%';
当我从EDIT1中输入g的时候s11='%g%'
但当我从EDIT1中输入"安"(这个引号我没输入)的时候s11的值却是
s11='%安 //就这样后面少了个引号不知道为什么,请高手门赐教``````急啊``~~~可以加小弟的QQ:254734866指教```在线等待```
s='' + s10 + ' like ''' + s11 + '''''';对比上面的多了个引号
但情况与上面的刚好相反
我这样写是没问题,输入'安',显示:'%安%'
s11 := '''%'+Trim(Edit1.Text)+'%''';
我试了你的说法一样的错误```
如果我根据其中的某个字段有查询到结果的话
再输入如上的“安”字就不会少了那个引号~~~~
郁闷中``
CSDN怎么人越来越少了啊````