在 C++ Builder 中从 DBGrid 检索值?

问题描述 投票:0回答:2

我有一个用 C++Builder 编写的程序,我在表中加载一些用户信息。我想从

password
列中获取值(在从数据库检索它们之后但在 DBGrid 上显示它们之前!)并将每个密码作为字符串保存到 STL
vector
中。但是,我不知道如何从该特定列获取所有密码(遍历行)(可以在下面的屏幕截图中看到)。我怎样才能做到这一点?

screenshot

string vector datagrid c++builder
2个回答
0
投票

这样的事情应该对你有帮助:

ADOTable1->First();
for(int i = 0; i < ADOTable1->RecordCount; i++){
    UnicodeString password = ADOTable1->FieldByName("password")->AsString;
    // read other columns if necessary...
    ADOTable1->Next();
}

这将迭代所有数据库表记录,从第一行开始直到最后一行。


0
投票

将 RowSelect 和 MultiRowSelect 设置为 false。然后以下代码将起作用,其中 TDBGrid Grid 引用引用 TTable Table 的 DataSource。

enter code here
int row = Table->RecNo;         // Points to row, starts at 1
int col = Grid->SelectedIndex;  // Starts at 0
TDataSet *pDS = Grid->DataSource->DataSet; // Point to the DataDet for row
String s = pDS->Fields->Fields[col]->AsString; // Contents of column
Label->Caption = s;  // Show data String
© www.soinside.com 2019 - 2024. All rights reserved.