SQL.Add('declare @Name varchar(20) ');
SQL.Add('exec abc_ji :id,@Name output ');
SQL.Add('select Ret=@Name ');
Open;
SQL.Add('exec abc_ji :id,@Name output ');
SQL.Add('select Ret=@Name ');
Open;
解决方案 »
- delphi 如何用剪贴板实现文件的复制,剪切,粘贴
- TMemoryStream 如何转为string???
- 急啊!sql数据库调用使条件语句无效
- 请高手帮忙指导一下斑马打印机s300打印中文的编程方法
- 数据库的同步连接和异步连接是怎么回事??
- 请问各位高手,如何用Delphe实现控制PC喇叭发声?
- 怎样动态产生Shape
- 关于属性编辑器的问题(就是在系统中实现DELPHI的属性编辑器的那样的效果)
- 菜鸟求救:怎样用datetimepicker获取系统时间,并怎样使他的显示时间少两天。增50分
- 请问怎样得到其他Active Window的焦点的句柄
- 如何读取硬盘的ID号,利用计算机硬件加密
- 保存XML文档的问题?
我觉得query好象不能返回一个 output类型的参数,因为他只是一个值而非一个recordset
最好还是用ADOStoredProc
设置ADOStoredProc 的ProcedureName
就可以看到他的参数,设置以下参数的类型
ADOStoredProc1.ExecProc;
Edit1.Text:= ADOStoredProc1.Parameters[2].Value;
要用adoquery
CREATE PROCEDURE abc_ji
@ID int AS
select name from student where ID=@ID
---------
id :=111;
qry.close
qry.sql.text := 'abc_ji '+ittostr(id);
qry.open;
eidt1.text :=qry.Fields[0].AsString;
qry.close;//我已经验证过了
但是我显示表的记录又正确,至少不是数据库连接出错,这是什么原因?
CREATE PROCEDURE abc_ji
@ID int
AS
select name from student where ID=@ID
OK!
ADOQuery1.SQL.ADD('EXEC @ID = :ID');
Parameters['ID'].Value := IntTostr(Edit1.Text);
ADOQuery1.Parameters['ID'].Value := IntTostr(Edit1.Text);
还是提示:Missing Connection or ConnectionString
没辙了,都不知道该在哪些地方设置,555555555555!!!!!
ADOQuery1.ConnectionString := 'Driver={SQL Server};UID=sa;PWD=;Initial Catalog=AirImport;Server=192.168.12.6'
2.OLEDB
ADOQuery1.ConnectString := 'Provider=SQLOLEDB.1;User ID=sa;Password=;Initial Catalog=AirImport;Data Source=192.168.12.6'强烈建议你用OLEDB