Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2008, 11:57   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
Вопрос из stringgrid'a в sql server

Подскажите,пожалуйста,как можно инфу из stringgrida добавить в таблицу sql server через ado?
есть код
Код:
procedure TForm1.BitBtn3Click(Sender: TObject);
var i:integer;
begin
if four.Active then four.Close;
 for i:=1 to StringGrid1.RowCount-2 do
  begin
  four.SQL.Clear; //очистка запроса
  four.SQL.Add('insert into Коэф values("'+StringGrid1.Cells[1,i]+'")');
  four.Post;
  four.Open;
  end;
end;
но,не работает..

Последний раз редактировалось kate158; 11.09.2008 в 15:33.
kate158 вне форума Ответить с цитированием
Старый 11.09.2008, 19:32   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Посмотрите внимательнo на эту строку:
four.SQL.Add('insert into Коэф values("'+StringGrid1.Cells[1,i]+'")');
Вы указали:
1. вставить запись в таблицу "Коэф"
2. вставить текст из второго столбца i-ой строки StringGrid1
НО! Вы забыли указать, какому полю таблицы "Коэф" следует присвоить этот текст...
Посмотрите внимательнее формат команды INSERT ... VALUES
mihali4 вне форума Ответить с цитированием
Старый 12.09.2008, 13:03   #3
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

Спасибо,mihali4.Задача решена,но я пошла другим путем.Вместо ADOQuery - ADO Command.Далее данные из стринггрида записала в массив.Параметру ADO Command присвоила столбец данных из бд.далее инсертом добавила массив записей в столбец.и все! кому нужен код,пишите.
kate158 вне форума Ответить с цитированием
Старый 02.07.2012, 09:25   #4
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

у меня дело было так: был стринг грид, состоящий из двух столбцов. первый это массив времени - 24 значения для каждого часа (00,01,02...24)
Код:
...
private
   dblHourPlan: array of double; //массив значений (второй столбец в стринг гриде)
   dbHours: array of string; //массив часов (первый столбец)
...
процедура обработки кнопки вставки в БД:
procedure TForm1.BitBtn3Click(Sender: TObject);
var
  i,j: integer;
  str1,str2: string;
begin
SetLength(dbHours,25);// у меня массив
   for i:=1 to StringGrid1.RowCount-2 do  //oeee io 1 ai eiioa a?eaa
   begin
    str1:= Trim(StringGrid1.Cells[1,i]);//trim-для удаления лишних пробелов
    if str1='' then
      str1:= '0';
      str2:='';
     for j:=1 to Length(str1) do
      begin
        if str1[j] = '.' then//если в строке есть точка
        str2:= str2 + ','//меняем ее на запятую
         else if (str1[j] <> ' ') and (str1[j] <> Chr(160)) then
        str2:= str2 + str1[j];
        end;
    dbHours[i]:= IntToStr(i);
    DataMod.Command.Parameters.ParamByName('Koef').Value:=dblHourPlan[i];
    DataMod.Command.Parameters.ParamByName('Hour').Value:=dbHours[i];
    DataMod.Command.Parameters.ParamByName('Profile_Code').Value:=ComboBox1.Text;
    DataMod.Command.Parameters.ParamByName('Year').Value:=FormatDateTime('yyyy',calDatePicker.Date);
    DataMod.Command.Parameters.ParamByName('Month').Value:=FormatDateTime('mm',calDatePicker.Date);
    DataMod.Command.Parameters.ParamByName('Day').Value:=FormatDateTime('dd',calDatePicker.Date);
    DataMod.Command.Execute;
  end;//конец цикла for
end;
далее: в модуль данных добавляем adocommand, в комманд текст пишем
Код:
  insert into prof_vert (Profile_Code, Year, Month, Day, Hour,Koef ) values (:Profile_Code,:Year,:Month,:Day,:Hour,:Koef)
kate158 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация SQL Server antoni БД в Delphi 3 07.08.2008 19:34
C# + SQl server kommunist Общие вопросы .NET 0 24.07.2008 21:09
MS SQL Server AlexDoul БД в Delphi 3 22.11.2007 09:33
ICS - For FTP server GAGARIN-NEW Компоненты Delphi 2 13.10.2007 12:07