Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Лишняя запись в БД и ошибка (Pascal)


Страницы:   1 2

zigzac ©   (2014-05-24 11:05:00) 

Всем привет!!!!!!!!!!!!!!
У меня 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.


Спасибо.


turbouser   (2014-05-24 18:55:00) [21]


> zigzac ©   (24.05.14 18:19) [5]

исходники будут? задолбало уже угадывать что там студиозусы накодили..


zigzac   (2014-05-24 18:19:00) [22]

У меня 40 форм с вопросами. На каждой форме вводиш ответ в edit и нажимаеш buttun. открывается новая форма с вопросом и там разница либо ответ string или integer. в бд 40 полей от 1 до 40.при правильном ответе зачисляем 2 в столбец с номером вопроса. а в конце при нажатии на кнопку с помощью цикла суммируем результат.
3 кода выше привязанных к событию нажатия кнопки. больше ниче не прписывал. проблема в том что цикл считает из первой записи .....


turbouser   (2014-05-24 17:18:00) [23]


> zigzac ©   (24.05.14 15:17) [3]

насчет второго - Fields[i].Value у тебя там NULL есть. сопсна, текст ошибки о том и говорит. есть такие свойства у филда, как isnull (не помню точно.. нет инструментов под рукой :))
первое - инсерт и аппенд - добавление. если при едит у тебя появляются дубли - то тут уж никто не поможет до тех пор пока весь код не приведешь.


zigzac   (2014-05-24 15:17:00) [24]

чем insert в моем случае заменить? Edit ставлю то же самое.


Плохиш   (2014-05-24 11:25:00) [25]


> Это когда цикл суммирует ответы(они не нулевые)

Ты сообщению об ошибке верь, оно не обманывает ибо не умеет.


Плохиш   (2014-05-24 11:23:00) [26]


> 1. Почему ответ следующего столбика добавляется в запись
> на строчку ниже, а не в одну запись(строчку)?

Если я правильно понял сей бред, то пора прочитать справку по insert.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо