下面脚本使用BDE对象连接到一个别名为MYSQL的数据库的Products表,打开这个表取出字段名,然后遍历整个表取出所有记录。
procedure TestSQL_BDE;
var
aTable, S, i : OleVariant;
begin
// Create a table
aTable := BDE.CreateTable;
// Specify the database name
aTable.DatabaseName := 'MYSQL'; // <-- BDE alias
// Specify the table name
aTable.TableName := 'Products';
// Open the table
aTable.Open;
aTable.First;
// Retrieve 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);
// Scan through 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;
// Output results
Log.Message('Products', S);
// Close the table
aTable.Close;
end;
使用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';
// Specifies the table name
aTable.TableName := 'Products';
// Opens the table
aTable.Open;
aTable.First;
// Retrieves field names
S := '';
文章来源于领测软件测试网 https://www.ltesting.net/