高分:有没有人使用ADOStoredProc出现问题?高手请进,怀疑是delphi的bug. (100分)

  • 主题发起人 主题发起人 alcor
  • 开始时间 开始时间
有可能是delphi的bug我在用ADO的过滤中遇到过滤条件是汉字时用like就查不到
 
看来是没有结论了
 
是否使用ADO调用该存储过程 出现错误,
在SQL查询分析器中调用正常?
如果是的话,我想你可以检查一下Delphi中传递参数所用的数据类型
 
把你调用存储过程的语句贴出来,大家伙帮你看看,看能不能有点帮助。
 
我是使用Clientdataset在客户端调用的,调用肯定是没有问题的。
FetchParams;
close;
Params.ParamByName('@UserID').AsString:=dbedit7.Text;
Params.ParamByName('@name').AsString:=dbedit1.text;;
Params.ParamByName('@password').AsString:=dbedit2.Text;
Params.ParamByName('@email').AsString:=dbedit3.Text;
Params.ParamByName('@address').AsString:=dbedit4.Text;
Params.ParamByName('@desc').AsString:=dbedit6.Text;
execute;
 
我又作了一个测试,直接在中间层给ADOStoredProc的参数直接赋值,也是没有问题的
现在问题的范围又小了,问题可能是客户端和中间层之间参数传递有丢失,这种情况
有没有人遇到?
 
进一步确定问题范围,是ADOStoredProc接受datasetproviser的参数有问题
 
不一定是delphi的问题,我试了一下。
create proc TestA
(@a varchar(100),@b varchar(100))
as
select @a as A,@b As B

传入中文的参数值没有问题。
环境:
delphi 6.02
sqlserver 2000
ado 2.7
检查一下你的Ado版本。
 
我用的是delphi6.0自带的ado
有可能有问题
 
多人接受答案了。
 
后退
顶部