C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с данными средствами SQL  (Прочитано 10548 раз)
oxotnik
Глобальный модератор
***

Сказали спасибо: +100/-15
Offline Offline

Сообщений: 2425


« : 29 мая 2008, 13:50:59 »

1. Вставка новой записи:
Код
Query1->SQL->Clear();
Query1->SQL->Text = "INSERT INTO TableName (Field_1, Field_2, .... Field_N) VALUES (:Value_1, :Value_2, ... :Value_N)";
Query1->Params->ParamByName("Value_1")->Value = Edit1->Text;
Query1->Params->ParamByName("Value_2")->Value = Edit2->Text;
....
Query1->Params->ParamByName("Value_N")->Value = EditN->Text;
Query1->ExecSQL();
 


Для корректной работы БД в целом, в каждой таблице должно быть поле, однозначно определяющее запись,
это поле может быть на основе счетчика (целочисленное автоинкриментное) или на основе GUID, тогда
при любых действиях с таблицей можно точно сказать какая конкретно запись должна правиться/удаляться

2. Удаление записи(ей):
Код
Query1->SQL->Clear();
Query1->SQL->Text = "DELETE TableName WHERE ID_Field = :Value_id";
Query1->Params->ParamByName("Value_id")->Value = CurrentRecord; //CurrentRecord содержит уникальный идентификатор текущей записи
Query1->ExecSQL();
 

3. Редактирование записи(ей)

Код
Query1->SQL->Clear();
Query1->SQL->Text = "UPDATE TableName SET Field_1 = :Value_1 ... Field_N = :Value_N WHERE ID_Field = :Value_id";
Query1->Params->ParamByName("Value_id")->Value = CurrentRecord; //CurrentRecord содержит уникальный идентификатор текущей записи
Query1->Params->ParamByName("Value_1")->Value = Edit1->Text;
....
Query1->Params->ParamByName("Value_N")->Value = EditN->Text;
 
Query1->ExecSQL();
 

PS: Понимание SQL
PPS: у некоторых могут возникать сложности и непонимание процесса чтения данных выборки из БД. В этой теме можно почерпнуть кое какие знания.

upd: и никто ж не сказал что с ошибками было
« Последнее редактирование: 22 апреля 2010, 10:10:47 от oxotnik » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: