C ++ Borland Builder 6 SQL-запрос - PullRequest
       12

C ++ Borland Builder 6 SQL-запрос

0 голосов
/ 03 сентября 2011

Я создаю приложение в 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();

, и все хорошо, но как мне поместить это имя в переменную?: /

1 Ответ

3 голосов
/ 03 сентября 2011

Я думаю, что-то вроде

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

или если вы действительно имеете только одно поле и / или знаете индекс поля (полей), тогда

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

И, как предполагает Кен Уайт в комментариях, для обеспечения безопасности и производительности нужно использовать параметризованные запросы, что-то вроде

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