我使用devart(corelab)的Mydac组件从Delphi访问MySql(2006)我经常需要处理TClientDataSet中的数据什么是将TMyQuery的数据集转换为TClientDataSet的最佳方法目前我正在使用
var
MyQuery : TMyQuery;
Dsp : TDataSetProvider;
Cds : TClientDataSet;
begin
MyQuery := nil;
Dsp := nil;
Cds := nil;
try
MyQuery := TMyQuery.Create(nil);
Dsp := TDataSetProvider.Create(nil);
Cds := TClientDataSet.Create(nil);
MyQuery.Connection := TheConnection;
MyQuery.SQL.Text := CmdStr;
Dsp.DataSet := MyQuery;
Cds.SetProvider(Dsp);
Cds.Open;
////////////////////////////////////////////////////////////////////////
/// MAKE USES OF THE CDS //
////////////////////////////////////////////////////////////////////////
finally
FreeAndNil(Cds);
FreeAndNil(Dsp);
FreeAndNil(MyQuery);
end;
end;
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
我使用MYDAC组件在我的数据库中创建了一个表并添加了数据.如何从此表中提取colums中的这些值?
我试过这些,但他们没有工作;
MyQuery1.Close;
MyQuery1.SQL.Text :='SELECT * FROM uyeler ORDER BY site';
Listbox1.Items.Add(MyQuery1.ParamByName('site').AsString);
MyQuery1.Execute;
Run Code Online (Sandbox Code Playgroud)
uyeler =表
site = colums
编辑备注:根据对已接受答案的评论,此问题是询问如何TListBox
使用查询列中返回的数据填充a .
我通过建立用户注册应用程序来进行mysql连接.我使用Delphi 7.Myquery(MySQL Access Set)在添加用户信息时遇到问题.
MyQuery1.SQL.Clear;
MyQuery1.SQLInsert.Add('INSERT INTO uyeler (nick) VALUES ('+QuotedStr(DBEdit1.text)+')');
MyQuery1.SQLInsert.Add('INSERT INTO uyeler (mail) VALUES ('+QuotedStr(DBEdit2.text)+')');
MyQuery1.SQLInsert.Add('INSERT INTO uyeler (site) VALUES ('+QuotedStr(DBEdit3.text)+')');
MyQuery1.SQLInsert.Add('INSERT INTO uyeler (pass) VALUES ('+QuotedStr(DBEdit4.text)+')');
MyQuery1.CachedUpdates:=True;
MyQuery1.Open;
Run Code Online (Sandbox Code Playgroud)
错误消息: MyQuery1:未提供SQL语句.
注意: uyeler:成员表.