我使用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 .
你的问题有点不清楚.您询问如何将列数据添加到a TListBox,但您的代码示例显示了一些内容ParamByName,看起来您正在尝试为ListBoxSQL参数赋值.
注意:根据对此回复的评论澄清了问题.第一个代码回答了问题; 我将留下第二个作为未来读者的榜样,因为它已经写好了.
如果您尝试TListBox从数据库列填充a ,则需要运行查询,然后循环遍历数据以将列数据添加到您的数据库TListBox.(SELECT *当你只打算使用该site列时,也不应该这样;这意味着当数据永远不会被使用时,数据库会向数据库发送额外的数据,最终会被丢弃.)
这应该可以帮助您入门:
MyQuery1.Close;
MyQuery1.SQL.Text := 'SELECT site FROM uyeler ORDER BY site';
try
MyQuery1.Open;
ListBox1.Items.Clear;
while not MyQuery1.Eof do
begin
ListBox1.Items.Add(MyQuery1.Fields[0].AsString);
MyQuery1.Next;
end;
finally
MyQuery1.Close;
end;
Run Code Online (Sandbox Code Playgroud)
如果您尝试执行第二步(使用a中的值填充参数TListBox),这应该有所帮助:
// to shorten typing of long lines
var
Site: string;
begin
if ListBox1.ItemIndex <> -1 then
begin
MyQuery1.Close;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('SELECT Column1, Column2, site FROM uyeler');
MyQuery1.SQL.Add('WHERE site = :siteval ORDER BY site');
Site := ListBox1.Items[ListBox1.ItemIndex];
MyQuery1.ParamByName('siteval').AsString := Site;
MyQuery1.Open;
try
// Use the database rows here
finally
MyQuery1.Close;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3794 次 |
| 最近记录: |