gpt4 book ai didi

mysql - dbExpress 如何显示查询结果?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:38 25 4
gpt4 key购买 nike

var
Connection: TSQLConnection;
SqlSet:TSQLDataSet;
begin
Connection := TSQLConnection.Create(nil);
SqlSet := TSQLDataSet.Create(nil);
SqlSet.SQLConnection:=Connection;
Connection.DriverName := 'MySQL';
Connection.GetDriverFunc := 'getSQLDriverMYSQL';
Connection.LibraryName := 'dbxmys.dll';
Connection.VendorLib := 'libmysql.dll';
Connection.LoginPrompt:=False;


Connection.Params.Values['Database']:=('shadowxx1');
Connection.Params.Values['User_Name']:=('shadowxx1');
Connection.Params.Values['Password']:=('shadowxx1');
Connection.Params.Values['HostName']:=('shadowxx1');
Connection.Open;
Connection.Connected:=True;

SqlSet.CommandType:=ctQuery;
SqlSet.CommandText:= 'SELECT VERSION()';
SqlSet.ExecSQL;


Connection.Close;
Connection.Free;
SqlSet.Free;
end;

代码有效,但是,如何显示查询结果或将其提取到网格???我根本找不到这个信息,在 ADO 中是​​这样的

DataSrc := TDataSource.Create(Self);
DataSrc.DataSet := ADOQuery;
DataSrc.Enabled := true;
DBGrid1.DataSource := DataSrc;

如果有人可以 - 举一些例子

像这样行不通 enter image description here

最佳答案

你用错了方法。在拥有它的任何 TDataSet 后代中,ExecSQL 用于执行不返回结果集的查询,例如 INSERT、UPDATE、DELETE 或 CREATE TABLE。参见,例如,TSQLQuery.ExecSQL (强调我的)

Executes a query that does not return a set of records.

Call ExecSQL to execute an SQL command that does not return a set of records. This command is a query other than a SELECT query, such as an INSERT, UPDATE, DELETE, or CREATE TABLE query.

使用 TSQLQuery.Open 从 SELECT 返回行。这样的东西应该可以工作(未经测试——我不使用 MySQL 或 DBExpress):

var
Qry: TSQLQuery;
VersionString: String;


// Set up your connection as above, and open it

Qry := TSQLQuery.Create(nil);
Qry.SQLConnection := Connection;

Qry.SQL.Text := 'SELECT VERSION() as DBVersion';
Qry.Open;

if not Qry.IsEmpty then
VersionString := Qry.FieldByName('DBVersion').AsString
else
VersionString := 'No results found';
Qry.Close;

有关详细信息(包括分步教程),请参阅 Using DBExpress Components在德尔福 docwiki。 (我链接的那个是针对当前的 Delphi 版本的,但是 DBExpress 的基本步骤自引入以来是相同的。)

如果你想要一个在 Delphi 中使用 DBExpress 的基本视频教程,你可以试试 DBExpress Data Access Components in Delphi - Delphi 101 .我没看过,但它是由 Delphi 的制造商 Embarcadero 发布的。

关于mysql - dbExpress 如何显示查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21444177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com