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;

刚学的,顺便整理思路

时间: 2024-10-01 06:17:46

delphi连接sql存储过程的相关文章

delphi连接sql server的字符串2011-10-11 16:07

delphi连接sql server的字符串2011-10-11 16:07 一.delphi连接sql server 放一个连接组件 ADOConnection, 其它组件TADODataSet,TADOQuery等的connection指向ADOConnection就可以了. 你可以双击ADOConnection,使用它的向导.也可以使用下面的代码 function OpenADOConn:boolean; begin result:=false; try with ADOConnectio

[delphi技术] (SQL DBE、ADO连接)+(Firebird火鸟+DbExpress)+(VF DBF数据库)+(DB Paradox)

DBE 连接SQL Server显然用ADO或DBEXPRESS更有优势,起码连接起来比较方便. BDE的话可以用如下方法:(以下以Delphi7为例,其它版本的DELPHI请自己摸索一下,不过基本相差不大) 1.启动Delphi,选择菜单项 Database->Explorer,在左侧Database列表里面右键,选择New,在弹出的驱动对话框里面选择MSSQL,确定,然后在左侧可以更改名字,如:TEST,然后在选中TEST在右侧选项里面添入ServerName(服务器名) UserName(

Delphi 与SQL编程

Delphi 与SQL编程 SQL语言作为关系数据库管理系统中的一种通用的结构查询语言, 已经被众多的数据库管理系统所采用,如Oracle.Sybase.Informix等数据库管理系统,它们都支持SQL 语言.Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个强大的数据库应用开发工具的一个重要标志. 17.1 SQL语言简介 17.1.1 SQL的历史

Delphi连接Oracle控件ODAC的安装及使用

Delphi ODAC 控件下载 ODAC 64位客户端 12.1.0.2.4 http://down-ww3.7down.net/pcdown/soft/xiazai/odac-x64.rar Delphi连接Oracle有很多种方式,但大多要在客户机上安装Oracle那庞大的客户端,比较不方便,使用ODAC控件连接Oracle则免去了这些麻烦.ODAC也是Oracle公司载发的控件.有for Delphi 6--Dephi 2007的版本. Oracle数据访问组件(ODAC),全称:Ora

MYSQL学习笔记——连接以及存储过程

连接 当我们需要从多个表查询数据时,我们就需要使用到连接操作,mysql支持内连接,左连接以及右连接三种连接方式. 数据库准备 首先我们创建两个表t1, t2: create table t1(i1 int, c1 varchar(10)); create table t2(i2 int, c2 varchar(10)); 插入数据: insert into t1 values (1, 'a'), (2, 'b'), (3, 'c'); insert into t2 values (2, 'c'

ASP连接sql server实例解析

1.首先确定自己的iis没有问题 2.其次确定自己sqlserver没有问题 然后在iis的文件夹wwwroot里,建立一个文件 名为testSqlServer.asp,编写代码例如以下就可以 <% 'ole db连接 set cnn1 = Server.CreateObject("ADODB.Connection") '连接串需要注意sqlserver的实例名,是否是默认,非默认必需要写出来 cnn1.Open "provider=sqloledb;data sour

JDBC连接sql server数据库的详细步骤和代码

JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: [java] view plaincopyprint? 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String  className)实现. 成功加载后,会将Driver类的实例注册到DriverManager类中. 2.提供JDBC连接的URL •连接URL定

《软件测试自动化之道》读书笔记 之 SQL 存储过程测试

<软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序   创建测试用例以及测试结果存储  执行T-SQL脚本  使用BCP工具导入测试用例数据  创建T-SQL 测试套件  当待测存储过程返回行集的时候,如何判断测试结果是否通过  当待测存储过程返回out参数时,如何判断测试结果是否通过  当待测存储过程没有返回值时,如何判断测试结果是否通过 许多基于Windows的系统都使用了SQL Server作为后台组件.待测程序经常通过存储过程来访问数据库.

delphi 连接mysql

Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决.最后返璞归真,老老实实用ADO来连接,发现也不是很顺利,但最终还是连接成功了.多少有点心得:ADO各个组件的作用和联系必须清楚,否则设置起来很容易混乱.总结一下用ADO连接MySQL5.1要点: 1.需要下载MySQL的ODBC支持,我用的官网mysql-connector-odbc-5.1.7-win32.msi(这个一般没问题,下载安装即可) 2.通过ODBC管理建立系统DSN(这个也简单,无非是选择M