zoukankan      html  css  js  c++  java
  • 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中选择参数

    procedure TForm1.cxGrid1DBTableView1DblClick(Sender: TObject);
    begin
      try
        screen.Cursor :=crhourglass;
        adostoredproc1.Close;
        adostoredproc1.Parameters.ParamByName('@Gender').Value :=(cbbSex.Text);
        adostoredproc1.Open;
      finally
        screen.Cursor :=crdefault;
      end;
    end;

    五、查询事件

    procedure TForm1.cxButton1Click(Sender: TObject);
    begin
      try
      adostoredproc1.Close;
      begin
        adostoredproc1.Parameters.ParamByName('@Gender').Value :=trim(cbbSex.Text);
        adostoredproc1.Open
      end;
      finally
        screen.Cursor :=crdefault
      end;
    end;

    刚学的,顺便整理思路

  • 相关阅读:
    【转】linux shell I/O重定向小结
    vnc 最近打开
    [转]设置修改CentOS系统时区/时间
    【转】动态链接库、静态库区别与VS2005项目相关设置
    更改默认shell
    19个PHP模板引擎
    const char*, char const*, char*const的区别
    按任意键继续
    [转]CentOS设置服务开机自动启动
    centos 修改eth2为eth0
  • 原文地址:https://www.cnblogs.com/Michael-D/p/4278621.html
Copyright © 2011-2022 走看看