数据库开发 Delphi7.0数据库开发实用技巧

  摘要:该文列出了Delphi7.0在SQL2000数据库开发中4项实用技巧,使数据初始开发编程工作变得轻松方便,给学习Delphi数据库开发程序员以一定的帮助。  关键词:计算机;编程;Delphi;数据库;技巧
  中图分类号:TP271文献标识码:A文章编号:1009-3044(2012)15-3481-03
  Delphi是一种具有强大功能的开发工具,特别是具有强大的数据库开发功能,ADO访问数据库的技术在Delphi7.0里可以高效的使用,使其网络数据在查询统计中非常方便。下面列出了四项在SQL2000数据库开发编程中的实用方法,会给编程工作带来捷径。
  1与Sql2000数据服务器的连接
  用Delphi7.0开发网络数据库程序时,首先要解决的是与服务器的SQL2000数据管理系统进行连接,然后才能对数据库进行操作,下面是具体的连接方法:
  在窗体中添加ADOConnection组件,属性设置如下:
  ADOConnection1-loginprompt-false
  下面以sa为登录名进行连接master数据库为例,代码如下:
  connstr:=’Provider=SQLOLEDB.1;Persist Security Info=False;’;
  connstr:=connstr+’User ID=’+edit2.text+’;Initial Catalog=master;Data Source=’+edit1.text+’;’;
  connstr:=connstr+’Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;’;
  connstr:=connstr+’Workstation ID=;Use Encryption for Data=False;’;
  connstr:=connstr+’Password=’+edit3.Text+’;Tag with column collation when possible=False;’;
  ADOConnection1.ConnectionString:=connstr;
  运行结果如图1:
  
  图1如何连接数据表
  当完成与数据服务连接后,就要进入数据操作主窗口,对数据库中有关数据表进行操作。下面对数据库master中的数据表ta ble1为例进行说明:(在第一项基础上进行)
  1.1在master数据库中创建数据表table1,表的结构为
  序号(int,Null)姓名(varchar(10),Null)职务(varchar(20),Null)
  1.2在数据窗体中加入如下组件
  3个dbedit和DBNavigator、ADOTable、DataSource各1个,组件的属性按下列顺序依次设置:
  ADOTable1-connection-Form1.ADOConnection1
  DataSource1-dataset- ADOTable1
  dbedit1、dbedit2、dbedit3-datasource-DataSource1
  DBNavigator-datasource-DataSource1
  dbedit1、dbedit2、dbedit3-datafield-序号、姓名、职务然后在form2的onshow事件中写入如下代码:
  adotable1.TableName:=’table1’;
  adotable1.Active:=false;
  adotable1.Active:=true;
  运行结果如图2:
  
  图2
  进入数据维护界面后,即可以对数据表table1进行修改、增加、删除、浏览等操作。
  2通过查找关键字定位数据表中某个记录
  在浏览数据表时,有时需要数据维护人员迅速将数据以某个关键字定位在某个记录处,方便地进行数据的有关维护,会给数据操作员带来极大便利。下面以数据表table1的职务内容为关键字进行查找,实现的方法如下:
  在窗体中添加edit、adoquery组件。
  设置adoquery属性:adoquery1-connection-Form1.ADOConnection1
  在button的onclick事件中添加如下代码:
  if trim(edit1.text)<>’’ then
  begin
  if zmii=1 then begin
  try
  with adoquery1 do
  begin
  sql.Clear;
  SQL.Add(’SELECT * INTO cz FROM table1 where职务like ’+’’’’+’%’+Trim(edit1.Text)+’%’+’’’’);
  open;
  end;
  except
  end;
  zmii:=0;
  end;
  with adoquery1 do
  begin
  sql.Clear;
  sql.Add(’SELECT * FROM cz’);
  open;
  i:=RecordCount;
  if i=0 then   begin
  showmessage(’没找到!’);
  edit1.Text:=’’;
  button1.Caption:=’查找’;
  end
  else
  begin
  bl:=trim(fieldbyname(’序号’).AsString);
  adotable1.Locate(’序号’,bl,[]);
  button1.Caption:=’下一个’;
  end
  end;
  try
  with adoquery1 do
  begin
  sql.Clear;
  sql.Add(’delete from cz where序号=’+bl); open;
  end;
  except
  end;
  运行结果如图3:
  
  3实现鼠标中间键对数据表格的正常滚动
  我们在浏览数据时有时需要以表格的形式来进行方便的查看,但我们用delphi创建数据表格后发现,在表格使用中间键翻阅数据时并不象我们想像的那样能正常滚动到下一页面。下面的方法可以实现正常的中间键功能:
  分别将dbgrid组件和additional中的组件ApplicationEvents添加到窗体上,设置组件dbgrid1的属性:dbgrid1-datasource-Data Source1,然后在组件ApplicationEvents1的OnMessage事件中写入如下代码:
  var
  i: SmallInt;
  begin
  if Msg.message = WM_MOUSEWHEEL then
  begin
  Msg.message := WM_KEYDOWN;
  Msg.lParam := 0;
  i := HiWord(Msg.wParam) ;
  if i > 0 then
  Msg.wParam := VK_UP
  else
  Msg.wParam := VK_DOWN;
  Handled := False;
  end;
  试一试中间键是不是一切正常了?运行结果如图4:
  
  图4
  以上有关代码在Delphi7.0和SQL2000下测试通过。

推荐访问:实用技巧 数据库开发 Delphi7