注册 登录
编程论坛 Delphi论坛

[求助]delphi调用存储过程时类型不匹配

疯子耍大刀 发布于 2006-06-23 20:14, 624 次点击
procedure TfrmMain.Button1Click(Sender: TObject);
begin
self.ADOStoredProc1.Close;
self.ADOStoredProc1.ProcedureName:='Espchecklogin;1';
self.ADOStoredProc1.Parameters.Refresh;
self.ADOStoredProc1.Parameters.ParamByName('@UserName').Value :=self.edtName.Text;
self.ADOStoredProc1.Parameters.ParamByName('@PassWord').Value:=strtoint(self.edtPW.Text);
self.ADOStoredProc1.Parameters.ParamByName('@Retval').Value:='';
self.ADOStoredProc1.Open;

这是我写的一段代码,我想用delphi来调用sql server的一个存储过程,我的@UserName',和@PassWord'
是char类型的,但是运行时总是提示数据类型不匹配,怎么做啊,我用 strtoint 还是不行?

3 回复
#2
xu20002006-06-23 20:19
self.ADOStoredProc1.Parameters.ParamByName('@UserName').string :=self.edtName.Text;
self.ADOStoredProc1.Parameters.ParamByName('@PassWord').integer:=strtoint(self.edtPW.Text);
试一下。

[此贴子已经被作者于2006-6-23 20:19:04编辑过]

#3
疯子耍大刀2006-06-24 00:47
不行啊,好象只能用.value,要是用.string 或.integer 会提示找不到.string 或.integer ,
该怎么办啊?~~~
#4
volte2006-06-28 11:50

你既然都是char类型,

为什么还要使用strtoint转换为integer类型呢。

不是多此一举吗?????

1