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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 12:15   #1
Evgen1976
Пользователь
 
Регистрация: 03.02.2009
Сообщений: 15
По умолчанию Ошибка при работе с БД Access

Подскажите кто в курсе не могу разобраться работаю с БД Access проблем раньше не возникало, но когда добавил новые записи в одну из таблиц, а добавлял непосредственно в самом Access теперь при попытке выбрать запись из этой таблице которая имеет ид а соответственно и идет позже 255 записи выдает следующую ошибку: "Значение литерала в команде превышает допустимый диапазон для типа связанного столбца"!
Когда я работаю с записями до 255-ой проблем нет!!! Подскажите кто знает?!
Evgen1976 вне форума Ответить с цитированием
Старый 15.06.2009, 14:27   #2
Evgen1976
Пользователь
 
Регистрация: 03.02.2009
Сообщений: 15
По умолчанию

Может я не совсем правильно задал вопрос, данная проблема возникает тогда когда я любую другую базу или запрос пытаюсь профильтровать по полю из этой базы, и если эта запись больше 255 то тогда возникает проблема.
Вот пример из Делфи как фильтрую базу:

DMod.tbQIgrok.Filtered:=False;
DMod.tbQIgrok.Filter:=filter_text;
DMod.tbQIgrok.Filtered:=True;
Evgen1976 вне форума Ответить с цитированием
Старый 15.06.2009, 14:43   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а тип то поля на котором осечка какой? Ограничение по диапазону там стоит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2009, 15:55   #4
Evgen1976
Пользователь
 
Регистрация: 03.02.2009
Сообщений: 15
По умолчанию

Всем спасибо, проблема уже решена!
Просто изменил способ фильтрации данных, т.е. фильтрую не готовый запрос, а фильтрую при создании запроса в Делфи, до этого использовал запрос созданный в Access
Evgen1976 вне форума Ответить с цитированием
Старый 15.06.2009, 19:22   #5
PiExeL
Новичок
Джуниор
 
Аватар для PiExeL
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию

Доброго времени суток. Прошу помощи у Вас, отцы программирования.
У меня создана база данных в Access. К ней подключаюсь используя компоненты AdoTable, Adoconnection, Datasource и соответственно DBgrid - всё работает (таблицы отображаются). Хочу создать форму в виде набора Editов через которые будет заносится информация в БД. осуществил это таким образом

procedure TForm6.Button1Click(Sender: TObject);
begin
form2.ADOConnection1.Execute('Inser t into abitur ([фамилия], [имя], [отчество], [специальность], №) Values (edit1.text, edit2.text, edit3.text, edit4.text, combobox1.text');
end;

когда запускаю программу выдаёт такую ошибку "Ошибка синтаксиса в инструкции Insert into"

в чём ошибка, где копать?
я не отступаю, я наступаю в другом направлении
PiExeL вне форума Ответить с цитированием
Старый 15.06.2009, 20:45   #6
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Inser t -> пишется вместе Insert
и как мне кажится нужно Edit`ы в ковычки
Код:
procedure TForm6.Button1Click(Sender: TObject);
begin
  form2.ADOConnection1.Execute('Insert into abitur ([фамилия], [имя], [отчество], [специальность], №) Values ('+edit1.text+', '+edit2.text+', '+edit3.text+', '+edit4.text+', '+combobox1.text+'');
end;

Последний раз редактировалось Gulik; 15.06.2009 в 20:51.
Gulik вне форума Ответить с цитированием
Старый 15.06.2009, 21:28   #7
PiExeL
Новичок
Джуниор
 
Аватар для PiExeL
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию

Insert был написан слитно, почему-то так на форму отобразилось
исправил на предложенный вариант, не помогло, таже ошибка

если пишу значения в " " то всё добавляется но соответственно добавляется имеено то что введено между " " а не переменная
я не отступаю, я наступаю в другом направлении

Последний раз редактировалось PiExeL; 15.06.2009 в 21:35.
PiExeL вне форума Ответить с цитированием
Старый 16.06.2009, 12:23   #8
PiExeL
Новичок
Джуниор
 
Аватар для PiExeL
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию

всем спасибо вопрос решён
Код:
form2.ADOQuery1.SQL.Text:='Insert into abitur ([фамилия], [имя], [отчество], [специальность], №) values (:p1, :p2, :p3, :p4, :p5)';
Form2.ADOQuery1.Parameters.ParamByName('P1').Value:=Edit1.Text;
Form2.ADOQuery1.Parameters.ParamByName('P2').Value:=Edit2.Text;
Form2.ADOQuery1.Parameters.ParamByName('P3').Value:=Edit3.Text;
Form2.ADOQuery1.Parameters.ParamByName('P4').Value:=Combobox1.Text;
Form2.ADOQuery1.Parameters.ParamByName('P5').Value:=Edit4.Text;
Form2.ADOQuery1.ExecSQL;
я не отступаю, я наступаю в другом направлении
PiExeL вне форума Ответить с цитированием
Старый 16.06.2009, 21:29   #9
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Вообще это какой-то спецефический способ, я пользуюсь компонентами DataControl и все хорошо работает
Gulik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при работе с компонентой Нюська Компоненты Delphi 12 27.05.2009 00:35
Ошибка при работе с потоками vitalik007 Общие вопросы Delphi 6 09.03.2008 09:25
Ошибка при работе с структурой Nullator Общие вопросы C/C++ 11 07.03.2008 23:52
Ошибка при работе с файлом LeoN Общие вопросы Delphi 1 07.12.2007 15:21
Ошибка при работе с БД malevich БД в Delphi 8 25.11.2007 15:10