delphi连接sql存储过程
针对返回结果为参数的
⼀、先建⽴⾃⼰的存储过程
ALTER PROCEDURE[dbo].[REName]
@Gender varchar(20)
AS
BEGIN
select ROW_NUMBER() over(order by Name asc) as[序号],
Name,Gender,Birthday,Mobile,Tel,Ctfld
from dbo.name
where Gender =@Gender OR@Gender IN ( NULL, '', '-1' )
END
⼆、打开delphi,先添加⼏个控件
ADOConnection1:连接sql数据库的
ADOQuery1:连接查询数据的,connection属性设为ADOConnection1
ADOStoredProc1:连接存储过程的,connection属性设为ADOConnection1,ProcedureName连接存储过程DataSource1:Dataset属性设为ADOStoredProc1
TCombobox:
TcxButton:查询按钮
cxGrid1:
三、设置窗⼝OnShow事件,把查询的参数添加到TCombobox中
procedure TForm1.FormShow(Sender: TObject);
begin
if adoquery1.Active then adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text :='select distinct Gender from dbo.name';
adoquery1.Open;
while not adoquery1.Eof do
begin
cbbSex.Items.Add(adoquery1.fieldbyname('gender').AsString);
adoquery1.Next;
end;
end;
四、设置OnDblClick事件,在cxGrid1中显⽰数据,并在FieldName中选择参数
Grid1DBTableView1DblClick(Sender: TObject);
begin
try
screen.Cursor :=crhourglass;
adostoredproc1.Close;
adostoredproc1.Parameters.ParamByName('@Gender').Value :=(cbbSex.Text);
adostoredproc1.Open;
finally
screen.Cursor :=crdefault;
end;
end;
五、查询事件
Button1Click(Sender: TObject);
begin
ondblclick是什么意思try
adostoredproc1.Close;
begin
adostoredproc1.Parameters.ParamByName('@Gender').Value :=trim(cbbSex.Text);
adostoredproc1.Open
end;
finally
screen.Cursor :=crdefault
end;
end;
刚学的,顺便整理思路
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论