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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2009, 14:26   #1
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
Вопрос Изменение записи в БД

я написал один код для изменениЯ записи в БД. нО когда открываю ту форму - у меня там выводиТ данные с последней строки или те данныЕ, которые я добавил. А мне надо чтобы открывало те данные, которые я выделил.
пожалуйста, посмотрите код и подскажите - где у меня ошибка!

Код:
procedure TForm2.EditClick(Sender: TObject);
begin
{ if form5.DBEdit1.Text = '' then
 ShowMessage('Âûáåðèòå çàïèñü!') else}
 begin
  Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('select * from student where FIO = "' + Form5.DBEdit1.Text+'"');
 Query1.Open;
 if DBGrid1.FieldCount=0 then begin
   form5.DBEdit1.DataSource:=form2.Query1.DataSource;
   form5.DBEdit2.DataSource:=form2.Query1.DataSource;
   form5.DBEdit3.DataSource:=form2.Query1.DataSource;
   form5.DBEdit4.DataSource:=form2.Query1.DataSource;
 end;
   Table1.Open;
   Table1.Edit;
   Form5.Show;
 end;
end;
заранЕе блАгОдарю!

Последний раз редактировалось mihali4; 17.11.2009 в 11:14.
kuzmich вне форума Ответить с цитированием
Старый 16.11.2009, 15:03   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

form5.DBEdit1.DataSource:=form2.Que ry1.DataSource;
А раньше какой form5.DBEdit1.DataSource был?
А это:
Код:
   Table1.Open;
   Table1.Edit;
   Form5.Show;
выше моего понимания...
При том, что данные для запроса берутся из Form5.
А откуда они там?
mihali4 вне форума Ответить с цитированием
Старый 16.11.2009, 15:13   #3
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

что-то я вашего ответа не понял!

Последний раз редактировалось mihali4; 17.11.2009 в 11:14.
kuzmich вне форума Ответить с цитированием
Старый 16.11.2009, 15:34   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Хорошо. По пунктам:
1. После выполнения запроса вы цепляете form5.DBEdit1 к некоему form2.Query1.DataSource.
Вопрос: а к чему до этого момента был подцеплен form5.DBEdit1? К какому другому DataSource ?
2. Это вытекает из 1. Откуда берется содержимое Form5.DBEdit1.Text ?
Из какого датасета?
mihali4 вне форума Ответить с цитированием
Старый 16.11.2009, 15:58   #5
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

1) DBEdit1 - был подцеплЕн к FIO, DBEdit2 -> DR, DBEdit3 -> Adres, DBEdit4 -> Gruppa
2) а насчет Form5.DBEdit1.text - это мне подсказали сделать на АРИВЦ (т.е - Вычислительный центр), но все равно не работает.

Последний раз редактировалось mihali4; 17.11.2009 в 11:15.
kuzmich вне форума Ответить с цитированием
Старый 16.11.2009, 22:37   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

kuzmich, открывай учебник Библия Делфи - М.Фленов, и начинай читать раздел "Работа с БД". Вот там есть ответ на твой вопрос.

З.Ы. от mihali4
Как искренне я сочувствую его преподу...
Будь проще и люди к тебе потянутся

Последний раз редактировалось mihali4; 17.11.2009 в 11:21.
spamer вне форума Ответить с цитированием
Старый 17.11.2009, 11:01   #7
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

вот смотрите:

Код:
procedure TForm2.EditClick(Sender: TObject);
begin
 Table1.Open;
 Table1.Edit;
 if DBGrid1.FieldCount <> 0 then begin
   form5.DBEdit1.DataSource:=form2.DBGrid1.DataSource;
   form5.DBEdit2.DataSource:=form2.DBGrid1.DataSource;
   form5.DBEdit3.DataSource:=form2.DBGrid1.DataSource;
   form5.DBEdit4.DataSource:=form2.DBGrid1.DataSource;
 end;
   Form5.Show;
 end;
я изменил код, у меня выводятся данные, но запись, которую я выбИраю - а не могу ее изменять! что делать!?

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

А какой датасе есть DataSource у form2.DBGrid1 ?
mihali4 вне форума Ответить с цитированием
Старый 17.11.2009, 11:19   #9
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

у меня из два, но к изменению данных использую DataSourse1
kuzmich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос на изменение содержимого поля записи таблицы Reinforced Microsoft Office Access 2 07.10.2009 14:56
изменение масштаба ruavia3 Microsoft Office Excel 1 30.07.2009 09:20
Изменение переменной yura-cat Помощь студентам 7 20.09.2008 17:42
Паскал файл изменение записи sancho-spb Помощь студентам 1 29.04.2008 13:27
Изменение .exe Kukkk Общие вопросы Delphi 3 19.09.2007 11:52