Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.08.2009, 16:28
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию Вставка даты циклом

Добрый день! Не полчается вставить циклом дату. Вот сейчас сделал такой код:
Код:
procedure TForm8.BitBtn8Click(Sender: TObject);
var
 i,k,j: integer;
begin
 i:=1;
 while Form8.StringGrid1.Cells[1,i] <> '' do
 begin
 Form8.Table_jur.Append;
  if Form8.Table_jur.Locate('Fam_jur;Imy_jur;Otche_jur',VarArrayOf([Form8.StringGrid1.Cells[1,i],
                                 Form8.StringGrid1.Cells[2,i],Form8.StringGrid1.Cells[3,i]]),
                                 [loCaseInsensitive,loPartialKey]) = False then

 for k:=4 to Form8.StringGrid1.ColCount - 1 do
     Form8.Table_jur.Insert;
     Form8.Table_jur.FieldByName('Fam_jur').AsString:=Form8.StringGrid1.Cells[1,i];
     Form8.Table_jur.FieldByName('Imy_jur').AsString:=Form8.StringGrid1.Cells[2,i];
     Form8.Table_jur.FieldByName('Otche_jur').AsString:=Form8.StringGrid1.Cells[3,i];
     Form8.Table_jur.FieldByName('God_jur').AsInteger:=StrToInt(Form8.StringGrid1.Cells[4,29]);
     Form8.Table_jur.FieldByName('Chetvert').AsString:=Form8.StringGrid1.Cells[2,28];
     Form8.Table_jur.FieldByName('Pred_jur').AsString:=Form8.StringGrid1.Cells[2,29];
     Form8.Table_jur.FieldByName('Klass').AsString:=Form8.StringGrid1.Cells[4,28];
     Form8.Table_jur.FieldByName('Data').AsString:=Form8.StringGrid1.Cells[k,0];
     Form8.Table_jur.Post;
//     Form8.Table_jur.Refresh;
  Inc(i);
 end;
end;
Все данные заносятся, а дата нет. Чего я тут намудрил? В идеале, мне надо, чтобы в БД в таблице данные хранились в таком виде, в котором таблица представлена во вложении. . Как перелопатить мой код, чтобы добиться такого?
Изображения
Тип файла: jpg Безымянный.jpg (55.0 Кбайт, 8 просмотров)
Ответить с цитированием
  #2  
Старый 03.08.2009, 17:32
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Ну, а где begin-end в цикле? как- то так должно быть, насколько я понял...
Код:
for k:=4 to Form8.StringGrid1.ColCount - 1 do
 begin
 Form8.Table_jur.Insert;
 ...
 inc(i);
 end;

Последний раз редактировалось TOJluK, 03.08.2009 в 17:36.
Ответить с цитированием
  #3  
Старый 03.08.2009, 18:41
Аватар для artemavd
artemavd artemavd вне форума
Начинающий
 
Регистрация: 05.08.2008
Сообщения: 115
Репутация: 12
По умолчанию

Вот, я переделал код на такой:
Код:
procedure TForm8.BitBtn8Click(Sender: TObject);
var
 i,k,j: integer;
begin
 if Form8.Table_jur.Locate('Fam_jur;Imy_jur;Otche_jur',VarArrayOf([Form8.StringGrid1.Cells[1,j],
                                 Form8.StringGrid1.Cells[2,j],Form8.StringGrid1.Cells[3,j]]),
                                 [loCaseInsensitive,loPartialKey]) = False then
 for i:=4 to Form8.StringGrid1.ColCount - 1 do
 for j:=1 to 25 do
 if Form8.StringGrid1.Cells[0,j] <> '' then
 if Form8.StringGrid1.Cells[1,j] <> '' then
 if Form8.StringGrid1.Cells[2,j] <> '' then
 if Form8.StringGrid1.Cells[3,j] <> '' then
 if Form8.StringGrid1.Cells[i,0] <> '' then
  begin
   Form8.Table_jur.Insert;
   Form8.Table_jur.FieldByName('Data').AsString:=Form8.StringGrid1.Cells[i,0];
   Form8.Table_jur.FieldByName('Fam_jur').AsString:=Form8.StringGrid1.Cells[1,j];
   Form8.Table_jur.FieldByName('Imy_jur').AsString:=Form8.StringGrid1.Cells[2,j];
   Form8.Table_jur.FieldByName('Otche_jur').AsString:=Form8.StringGrid1.Cells[3,j];
   Form8.Table_jur.Post;
  end;
Результат внесения представлен во вложении. Какого условия не хватает, чтобы было так как я выкладывал в первом своем посте??
Изображения
Тип файла: jpg Безымянный.JPG (65.4 Кбайт, 7 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter