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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2013, 22:55   #1
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию Работа с БД в Делфи 7

При добавление данных в таблицу с помощью ДБедитов после добавления выводит такую ошибку

[IMG]http://http://programmersforum.ru/attachment.php?attachmentid=65006&s tc=1&d=1387652
Изображения
Тип файла: jpg збзбз.jpg (24.3 Кб, 51 просмотров)

Последний раз редактировалось курбанниязов; 21.12.2013 в 23:20.
курбанниязов вне форума Ответить с цитированием
Старый 21.12.2013, 23:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это означает что в поле, которое объявлено ключом не может быть пусто.
Смотри свой код, там где ты добавляешь записи или редактируешь. Где-то в этих местах ключевое поле не вносится в базу. Отсюда и ошибка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.12.2013, 23:23   #3
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию

вот код который я прописал на кнопке при добавление записи либо в аксесе может чтото не указал

if DataModule1.MenuName.Modified then
DataModule1.MenuName.Post;
Close;
курбанниязов вне форума Ответить с цитированием
Старый 22.12.2013, 09:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Этот код ничего не добавляет. Он просто сохраняет то что нужно внести.
Добавление делается методами insert или append.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2013, 12:40   #5
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию

Вот код с дабовлением записи он добавляет но после того как перезапускаешь програму и тоже самое когда удаляешь он удаляет после перезапускание проекта

DataModule1.MenuName.Insert;
if DataModule1.MenuName.Modified then
DataModule1.MenuName.Post;
Close;
курбанниязов вне форума Ответить с цитированием
Старый 22.12.2013, 13:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот код с дабовлением записи
Да это он. Но он только создает пустую запись н внося в нее данные, о чем тебе ошибка и говорит. А вот если ты после Insert начнешь вписывать данные:
Код:
DataModule1.MenuName.FieldbyName('Поле такое-то').value:=чему-то
то пойдет запись данных, которое потом Post и сохранит. Кстати if DataModule1.MenuName.Modified then тут лишнее - убери его совсем.
Так вот тут-то и нужно заносить какое-то значение в поле, на которое ругается программа, оно не должно быть пустым. и полюбому должно чем-то заполняться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 12:47   #7
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию Вот код надобавление подругому сделал но он выдает все равно ошибки

Код:
Form3.ActiveControl:=Form9.Edit1;
Form9.DBEdit1.Text:='   ';
Form9.DBEdit2.Text:='   ';
Form9.DBEdit3.Text:='   ';
Form3.sComboBox1.Text:='    ';
if (Form9.ShowModal=mrOK)then
begin
DBGrid1.Cells [0,DGrid1.RowCount-1]:=Form9.Edit1.Text;
DBGrid1.Cells [1,DBGrid1.RowCount-1]:=Form9.Edit2.Text;
DBGrid1.Cells [2,DBGrid1.RowCount-1]:=Form9.Edit3.Text;
DBGrid1.Cells [3,DBGrid1.RowCount-1]:=Form9.Edit4.Text;
DBGrid1.RowCount:=DBGrid1.RowCount+1;

Ошибки на этот код выдает

Цитата:
[Error] Unit3.pas(55): Undeclared identifier: 'Cells'
[Error] Unit3.pas(55): ']' expected but identifier 'RowCount' found

Последний раз редактировалось курбанниязов; 23.12.2013 в 13:28.
курбанниязов вне форума Ответить с цитированием
Старый 23.12.2013, 13:19   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Undeclared identifier: 'Cells'
У DBGrid нет свойства Cells в доступе из-под твоей программы.
Можешь даже и не пытаться так делать.
Если уж хочется глупостями заниматься то хотя бы так пиши:
Код:
with DBGrid.DataSource.DataSet do begin
 Insert;
  Fields[0].AsString:=Form9.DBEdit1.Text;
  Fields[1].AsString:=Form9.DBEdit2.Text;
  Fields[2].AsString:=Form9.DBEdit3.Text;
  Fields[4].AsString:=Form9.DBEdit4.Text;
 Post;		
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 13:29   #9
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию

Тогда так но все равно выбивает ошибку(

Код:
Form3.ActiveControl:=Form9.Edit1;
Form9.DBEdit1.Text:='   ';
Form9.DBEdit2.Text:='   ';
Form9.DBEdit3.Text:='   ';
Form3.sComboBox1.Text:='    ';
if (Form9.ShowModal=mrOK)then
begin
DBGrid1.Cells [0,DGrid1.RowCount-1]:=Form9.Edit1.Text;
DBGrid1.Cells [1,DBGrid1.RowCount-1]:=Form9.Edit2.Text;
DBGrid1.Cells [2,DBGrid1.RowCount-1]:=Form9.Edit3.Text;
DBGrid1.Cells [3,DBGrid1.RowCount-1]:=Form9.Edit4.Text;
DBGrid1.RowCount:=DBGrid1.RowCount+1;

Ошибки на этот код выдает

Цитата:
[Error] Unit3.pas(55): Undeclared identifier: 'Cells'
[Error] Unit3.pas(55): ']' expected but identifier 'RowCount' found
курбанниязов вне форума Ответить с цитированием
Старый 23.12.2013, 13:32   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я сдаюсь...
Меня не слышно (
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при добавлении записи в таблицу выдает ошибку brutalis БД в Delphi 28 13.05.2012 17:49
при вставке записи в БД (MDB) выдает ошибку "неправильный синтаксис запроса" lkjuio C# (си шарп) 8 01.05.2011 23:30
Выдает ошибку при входе в игру lotter Помощь студентам 1 05.06.2010 13:54
При установки игры выдает ошибку записи файла (возможна,нет места на диске ) serenikei Свободное общение 8 05.03.2010 23:48
Почему не выдает результат записи. Ну или бы хотя бы ошибку какую. Lorel PHP 2 01.12.2008 14:29