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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2014, 10:45   #1
zigzac-zigzac
 
Регистрация: 04.05.2014
Сообщений: 7
По умолчанию Лишняя запись в БД и ошибка (Pascal)

Всем привет!!!!!!!!!!!!!!
У меня 2 вопроса:
1. Почему ответ следующего столбика добавляется в запись на строчку ниже, а не в одну запись(строчку)?
Проблема в том , что получается нужны ответ в другой записи и цикл его не считает.

Так я зачисляю в ячейки значения :
Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
A:Integer;
begin
 if edit1.Text='' then
exit ;
A:=StrToInt(Edit1.Text);

if A=4 then
begin
ADOTable1.Open;
ADOTable1.Insert;
  ADOTable1.FieldByName('1').AsString:='2';
ADOTable1.Post;
ADoTable1.Close;
form1.Hide;
form2.Show;
end
 else
  begin

form1.Hide;
form2.Show
  end;
end;
И вот так :
Код:

procedure TForm5.Button1Click(Sender: TObject);
 var
A:String;
begin
  if edit1.Text='' then
exit ;


if edit1.Text='чемодан' then
begin
ADOTable1.Open;
ADOTable1.Append;
  ADOTable1.FieldByName('3').AsString:='2';
ADOTable1.Post;
form5.Hide;
form6.Show;
end
 else
  begin

form5.Hide;
form6.Show
  end;
end;
2. Такая ошибка :

.............could not convert variant of type null into type integer.

Это когда цикл суммирует ответы(они не нулевые)(но лесенкой)(в каждой строке по ячейке=2,остальные =0)
Код:
procedure TForm43.Button1Click(Sender: TObject);
var
k,i:integer;

begin
k:=0;
for I := 1 to 40 do k:=k+adotable1.Fields.Fields[i].Value;
label2.caption:=IntToStr(k)



end;

end.
Спасибо!
zigzac-zigzac вне форума Ответить с цитированием
Старый 24.05.2014, 14:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Наверно Update нужен, а не Insert
2. if not adotable1.Fields.Fields[i].IsNull then k:=k+adotable1.Fields.Fields[i].Value;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.05.2014, 23:30   #3
zigzac-zigzac
 
Регистрация: 04.05.2014
Сообщений: 7
По умолчанию

2 ответ помог спасибо
zigzac-zigzac вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лишняя тройка Mariolka Помощь студентам 6 08.10.2013 14:17
Создается лишняя строка в Таблице данных NuR1k Microsoft Office Excel 0 20.10.2012 18:42
Правильная запись в Pascal BukTop2009 Паскаль, Turbo Pascal, PascalABC.NET 2 04.10.2012 22:21
Запись формулы (pascal) spinogryz_ua Помощь студентам 1 10.02.2012 18:28
Pascal. Тип запись d_b Помощь студентам 9 02.03.2009 08:46