![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброе время суток.
Никак не могу понять, как написать SQL команду на добавление данных в бд из String Grid. Делаю так: Код:
for Row := StringGrid1.RowCount - 1 downto StringGrid1.FixedRows
do for Col := StringGrid1.FixedCols to StringGrid1.ColCount - 1
do begin
S:=StringGrid1.Cells[Col,1]; //Это от безысходности
DataModule3.ADOQuery1.Active:=false;
DataModule3.ADOQuery1.SQL.Text:='INSERT INTO org (num, okpo, inn, org, main, fio, index, okato, adress) VALUES ('+S+')';
DataModule3.ADOQuery1.Active:=true;
end;
end;Посоветуйте, как правильней сделать. Последний раз редактировалось Admin, 27.05.2013 в 21:03. |
|
#2
|
|||
|
|||
|
Цитата:
Для одной строки: Код:
function GetQuery(N : Integer) : String;
var
S : String;
I : Integer;
begin
S := StringGrid1.cells[0,N];
For I := 1 To StringGrid1.ColCount-1 Do
S := S + ',' + '''' + StringGrid1.cells[I,N] + '''';
Result := 'INSERT INTO org (num, okpo, inn, org, main, fio, index, okato, adress) VALUES ('+S+')';
end;ЗЫ. Проверь только, что у Cells первым идет колонка. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Yasha (27.05.2013)
| ||
|
#3
|
|||
|
|||
|
Уже решила с помощью ADODataSet) Но все равно спасибо)
|
|
#4
|
||||
|
||||
|
на insert/update нужен ExecSQL, а не open (active)
жми F1 |