我正在CppBB6中构建一个从数据库中读取/写入数据的应用程序。从一个名为“学生”的表中,我想使用给定的索引号(“名称”和“索引”均为表“学生”中的字段)提取学生的姓名,然后再将该名称放入String或AnsiString变量中。

我正在使用此查询来选择名称:

AnsiString query;
Query1->Close();
Query1->UnPrepare();
Query1->SQL->Clear();
query="SELECT Name FROM Students where Index='" + Edit1->Text + "'";
Query1->SQL->Add(query);
Query1->Prepare();
Query1->Open();


一切都很好,但是如何将Name放入变量中? :/

最佳答案

我猜大概是

Edit1->Text = Query1->FieldByName("Name")->AsString;


或者如果您实际上只有一个字段和/或知道该字段的索引,则

Edit1->Text = Query1->Fields[0]->AsString;


正如肯·怀特(Ken White)在评论中所建议的那样-出于安全和性能方面的考虑,应该真正使用参数化查询,例如

Query1->SQL->Add("SELECT Name FROM Students where Index = :idx");
Query1->Prepare();
Query1->ParamByName("idx")->AsString = Edit1->Text;

关于c++ - C++ Borland Builder 6 SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7289554/

10-13 04:33