• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

自动化测试中对数据库进行操作方法

发布: 2009-3-11 09:55 | 作者: 不详 | 来源: 测试时代采编 | 查看: 66次 | 进入软件测试论坛讨论

领测软件测试网

使用ADO对象操作数据库
        ADO,即ActiveX Data Object,使用ADO同样需要先创建ODBC连接。
        TC支持两种使用ADO的方法,一种是跟Delphi ADO对象一致的方法,一种是按照ADO本身的使用方法。
        下面把两种方法都列出。 //类似Delphi ADO的使用方法
procedure TestSQL_ADO;
var
  aTable, S, i : OleVariant;
begin
  // Creates a table
  aTable := ADO.CreateADOTable();
  // Specifies the database name
  aTable.ConnectionString := ’Provider=MSDASQL.1;Persist Security Info=False;Data Source=NameOfMyDSN’; [Page]
  // Specifies the table name
  aTable.TableName := ’Products’;
  // Opens the table
  aTable.Open;
  aTable.First;
  // Retrieves field names
  S := ’’;
  for i := 0 to aTable.FieldCount - 1 do
    S := S + aTable.Field(i).FieldName + Chr(9);
  S := S + Chr(13) + Chr(10);
  // Scans dataset records
  while not VarToBool(aTable.EOF) do
  begin
    for i := 0 to aTable.FieldCount - 1 do
      S := S + aTable.Field(i).AsString + Chr(9);
    S := S + Chr(13) + Chr(10);
    aTable.Next;
  end;
  // Outputs results
  Log.Message(’Products’, S);
  // Closes the table
  aTable.Close;
end;
// “原生”ADO的使用方法
procedure TestSQL_ADO2;
var
  aCon, aCmd, aRecSet, S, i : OleVariant;
begin
  // Creates ADO connection
  aCon := ADO.CreateConnection;
  // Sets up the connection parameters
  aCon.ConnectionString := ’Provider=MSDASQL.1;Persist Security Info=False;Data Source=NameOfMyDSN’;
  // Opens the connection
  aCon.Open;
  // Creates a command and specifies its parameters
  aCmd := ADO.CreateCommand;
  aCmd.ActiveConnection := aCon; // Connection
  aCmd.CommandType := adCmdTable; // Command type
  aCmd.CommandText := ’Products’; // Table name
  // Opens a recordset
  aRecSet := aCmd.Execute;
  aRecSet.MoveFirst;
  // Obtains field names
  s := ’’;
  for i := 0 to aRecSet.Fields.Count - 1 do
    s := s + aRecSet.Fields.Item(i).Name + Chr(9); [Page]
  s := s + Chr(13) + Chr(10);
  // Scans recordset
  while not aRecSet.EOF do
  begin
    for i := 0 to aRecSet.Fields.Count - 1 do
      s := s + VarToString(aRecSet.Fields.Item(i).Value) + Chr(9);
    s := s + Chr(13) + Chr(10);
    aRecSet.MoveNext;
  end;
  // Outputs results
  Log.Message(’Products’, s);
  // Closes the recordset and connection
  aRecSet.Close;
  aCon.Close;
end;
扩展
        实际上,除了上面说的三类使用方法外,TC还支持ADO.NET等更新的数据库驱动的使用,通过TC的Open Application机制,我们可以直接调用.NET的库,使用.NET的System.Data命名空间下的ADO.NET的所有类和方法。

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网