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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 00:27   #1
Toky
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 19
По умолчанию Проблема с БД на парадоксе

Все работает вроде как без ошибок единственное что это почему-то когда редактирую запись через созданное окно открывает ту запись которую я выбрал, а редактирует и вностит изменения в последнюю запись как это исправить, что я делаю не правильно, вот код:
Код:
form2.Table1.Edit; 
form2.Table1.Fields[1].AsString :=Edit1.Text; 
form2.Table1.Fields[2].AsString :=Edit2.Text; 
form2.Table1.Fields[3].AsString :=Edit3.Text; 
form2.Table1.Fields[4].AsString := Datetostr(DateTimePicker1.Date); 
form2.Table1.Fields[5].AsString :=combobox1.Text; 
Form2.Table1.fields[6].AsString:=ComboBox2.Text; 
Form2.Table1.fields[8].AsString:=Edit4.Text; 
Form2.Table1.fields[9].AsString:=Edit5.Text; 
if (p1<>'') and (p1<>ExtractFilePath(Application.ExeName)+'No_image.bmp')then 
(Form2.Table1.FieldByName('Photo') as TBlobField).LoadFromFile(p1); 
if (p2<>'') and (p2<>ExtractFilePath(Application.ExeName)+'No_image.bmp')then 
(Form2.Table1.FieldByName('Alfa') as TBlobField).LoadFromFile(p2); 
if (p3<>'') and (p3<>ExtractFilePath(Application.ExeName)+'No_image.bmp') then 
(Form2.Table1.FieldByName('Gamma') as TBlobField).LoadFromFile(p3); 
if (p4<>'') and (p4<>ExtractFilePath(Application.ExeName)+'No_image.bmp') then 
(Form2.Table1.FieldByName('Teta') as TBlobField).LoadFromFile(p4); 
if (p5<>'') and (p5<>ExtractFilePath(Application.ExeName)+'No_image.bmp')then 
(Form2.Table1.FieldByName('Delta') as TBlobField).LoadFromFile(p5); 
form2.Table1.Post;
Странно но новых записей она тоже не добавляет хотя все написано правильно через: инсерт, раньше добавляло а щас че-то нет.

Последний раз редактировалось mihali4; 11.12.2009 в 01:45.
Toky вне форума Ответить с цитированием
Старый 11.12.2009, 01:44   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

У нас принято оформлять код специальным тэгом - кнопочка "#".
По теме.
Цитата:
все написано правильно через: инсерт
И где он, ваш INSERT ?
Чтой-то не наблюдаю...
Вы просто редактируете запись.
Цитата:
редактирует и вносит изменения в последнюю запись
Значит, где-то вы перебираете записи вроде
Код:
while not Form2.Table1.Eof do
или делаете
Код:
Form2.Table1.Last

Последний раз редактировалось mihali4; 11.12.2009 в 01:48.
mihali4 вне форума Ответить с цитированием
Старый 11.12.2009, 01:58   #3
Toky
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 19
По умолчанию

Ок. Ну допустим пишу я:
Код:
form2.Table1.Insert;
form2.Table1.Fields[1].AsString :=Edit1.Text;
form2.Table1.Fields[2].AsString :=Edit2.Text;
form2.Table1.Fields[3].AsString :=Edit3.Text;
form2.Table1.Fields[4].AsString := Datetostr(DateTimePicker1.Date);
form2.Table1.Fields[5].AsString :=combobox1.Text;
Form2.Table1.fields[6].AsString:=ComboBox2.Text;
Form2.Table1.fields[7].AsString:=Label10.Caption;
Form2.Table1.fields[8].AsString:=Edit4.Text;
Form2.Table1.fields[9].AsString:=Edit5.Text;
if p1<>''then
(Form2.Table1.FieldByName('Photo') as TBlobField).LoadFromFile(p1);
if p2<>'' then
(Form2.Table1.FieldByName('Alfa') as TBlobField).LoadFromFile(p2);
if p3<>''then
(Form2.Table1.FieldByName('Gamma') as TBlobField).LoadFromFile(p3);
if p4<>'' then
(Form2.Table1.FieldByName('Teta') as TBlobField).LoadFromFile(p4);
if p5<>''then
(Form2.Table1.FieldByName('Delta') as TBlobField).LoadFromFile(p5);
form2.Table1.Post;
form2.Table1.UpdateRecord;
при этом когда я жму на кнопку в которой код, то пишется что БД находится не в режиме ввода. А так же ДБгрид отображает всего 4 записи - хотя их там больше но они не отображаются. Че это за глюк такой я уже не могу собразить то-ли это база данных то ли какие-то настройки тэйбэл или еще че-то.

Последний раз редактировалось Toky; 11.12.2009 в 02:00.
Toky вне форума Ответить с цитированием
Старый 11.12.2009, 02:10   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А уберите-ка вы as TBlobField.
Загрузка в базу без этого прекрасно работает...
Не буду перегружать тему, скачайте-ка справочник, там полно способов по работе с блобами:
http://programmersclub.ru/files/dfaq.rar
И вообще рекомендую "погулять" по сайту нашего клуба
http://programmersclub.ru
- немало полезного обнаружите...
mihali4 вне форума Ответить с цитированием
Старый 11.12.2009, 02:28   #5
Toky
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 19
По умолчанию

Так все же что это за глюк с таблицей? Зашел в таблицу через Датабэйс Десктоп - то же самое: 4 записи а потом ползунок дергаю и на их место другие приходят, можно как-то всю таблицу отобразить, а то это как-то не нормально.

Все не надо разобрался с таблицей

Последний раз редактировалось mihali4; 11.12.2009 в 15:09.
Toky вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37