对于某些背景:我的任务是将C ++应用程序的怪物从它当前的数据库平台迁移到SQL驱动的东西。 C ++是一种我最近刚开始重新熟悉的语言,我已经构建了我的桌面应用程序,但之前从未将其连接到SQL数据库。我暂时坚持使用RAD Studio / C ++ Builder 2007,而且我使用的是dbexpress组件,因为我现在还不太清楚。所以请在这里原谅我可能生硬/新手的问题。
我将开发环境脱机并在笔记本电脑上安装了MySQL。保持真正的基础,只是建立一个超级简单的应用程序开始,因为我还有很多学习要做。坦率地说,我印象深刻,我想出了如何让MySQL数据库在C ++ Builder中连接和使用。 XD
我想我实际上无法让这里的任何人为我写这个简单的过程...但我的目标是只需拉入表中的所有记录,然后添加第一个字段(对于每个记录) )在表格中列出一个列表框。为了这个例子,我们可以说这个表被称为“可测试的”'第一个字段称为“testfield1'”。表中有2条记录。很难找到这方面的例子......除非它比我想象的更复杂。
我很感激人们可能提出的建议或建议。它可能不像把SQLDataSet1的一些函数放到???中那么简单。下面......但那就是我的斗争所在。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
SQLDataSet1->CommandType = ctQuery;
SQLDataSet1->CommandText = "SELECT * FROM testtable";
SQLDataSet1->Open();
if (SQLDataSet1->Active)
{
ListBox1->Items->Clear();
for (i = 0; i > SQLDataSet1->RecordCount; i++)
{
ListBox1->Items->Add(???);
}
}
}
答案 0 :(得分:0)
大多数(如果不是全部)数据集组件都是从TDataSet派生的。当数据集处于活动状态时,任何时候都只指向一条记录。诸如First和Next之类的方法可用于将光标移动到不同的记录。该记录保存在Fields属性中。
if (SQLDataSet1->Active)
{
ListBox1->Items->Clear();
SQLDataSet1->First();
ListBox1->Items->Add(SQLDataSet1->Field[0]->AsString);
// ...
}