![]() |
|
![]() ![]() ![]() |
|
HAS |
|
|||
Ing ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 1.3.2005 Где: Internet Репутация: нет Всего: 2 |
FelistA , я тут примерчик для тебя накатал, но прицепить не могу,почему-то
![]() напиши свой e-mail я пришлю ![]() |
|||
|
||||
FelistA |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.4.2005 Где: Кирово-Чепецк Репутация: нет Всего: нет |
Мой mail [email protected]
Исходный код напишу позже. Пыталась сделать так как в статье написано, ошибка та же самая. Кто нибудь мне обьяснит что она означает? ![]() |
|||
|
||||
HAS |
|
|||
Ing ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 1.3.2005 Где: Internet Репутация: нет Всего: 2 |
что за ошибка ?
|
|||
|
||||
HAS |
|
|||
Ing ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 1.3.2005 Где: Internet Репутация: нет Всего: 2 |
FelistA, пример выслал на е-mail
![]() |
|||
|
||||
Albinos_x |
|
||||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 1 Всего: 108 |
переводится:
у тебя Table1.TableName:='GetCurentDir+имя_БД'; //если в том же каталоге или: + путь от каталога в котором лежит прога такое есть? или ищи ошибку в названии поля... Это сообщение отредактировал(а) Albinos_x - 29.7.2005, 20:38 -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||
|
|||||
HAS |
|
|||
Ing ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 1.3.2005 Где: Internet Репутация: нет Всего: 2 |
FelistA , ну как работает ?
![]() |
|||
|
||||
FelistA |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.4.2005 Где: Кирово-Чепецк Репутация: нет Всего: нет |
Бррр... У меня ступор, голова перестала соображать, так бывает когда долго над одним делом работаю, устрою себе недельный перерыв и продолжу. Никто не против???
![]() HAS спасибо за пример посмотрела, вот только базу не может найти. Но это дело поправимое. ![]() ![]() |
|||
|
||||
Sett |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 20.12.2004 Где: Подольск Репутация: нет Всего: нет |
FelistA, смотри как я делал, если ты используешь Table1, DataSource и DBGrid1 компоненты.
можно зделать всё очень просто пример: Form1.DBGrid1.DataSource.DataSet.Edit; // разрешаем произвести редактирование в таблице Form1.DBGrid1.DataSource.DataSet.First; // переносим курсор в начало таблицы Form1.DBGrid1.DataSource.DataSet.Insert; // добавляем пустую ячейку в которую добавим свой текст Form1.DBGrid1.DataSource.DataSet.Edit; // подтверждаем редактирование повторно. Form1.DBGrid1.DataSource.DataSet.Fields[0].Text:=Edit1.Text; // добавляешь текст из Edit1.Text Form1.DBGrid1.DataSource.DataSet.Fields[1].Text:=Label1.Caption; // или добавляешь текст из Label1.Caption Form1.DBGrid1.DataSource.DataSet.Fields[3].Text:=Form1.Caption; // или добавляешь текст из Form1.Caption нет разницы Form1.DBGrid1.DataSource.DataSet.Post; // подтверждаешь и сохраняешь все внесёные изменения. Обрати внимание на Fields[0], филдс может быть и с другой цифрой цифра ознчает номер поля, куда вносится текст: Fields[0], Fields[1], Fields[2], Fields[3], Fields[4], для каждого грубо говоря Edit1.Text свой филдс код ставишь под кнопку и всё, проще не бывает. только не забудь! в Form1.Create добавить Table1.Open; |
|||
|
||||
Петрович |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
А можно еще проще ![]()
1. После First (строка 2), датасет переведенный в режим редактирования строкой 1, автоматически переключится в режим просмотра. Отсюда, первая строка бессмысленна. 2. First (строка 2) не нужен. Поскольку в реляционных БД понятие порядок записей отсутствует, то и вставка записи (строка 3) может производиться в любое место, не обазательно в начало. 3. После Edit (строка 4), датасет переведенный в режим вставки строкой 3, автоматически переключится в режим реадктирования текущей записи, а то и вообще даст Exception. И еще. Обращение к полям по индексу (Fields[0], Fields[1], Fields[2], Fields[3], Fields[4], ...) это дурной тон, который может принести проблемы. Например, если в таблице изменится порядок и состав полей, то придется лазить по всему тексту программы и изменять индексы. Да и запутаться легко. Лучше либо обращаться по именам полей:
Либо обращаться к объектам полей созданным во время дизайна. Последнее даже лучше, поскольку как минимум будет быстрее. -------------------- Все знать невозможно, но хочется |
||||||
|
|||||||
Veniamin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 3.3.2005 Репутация: нет Всего: нет |
Подскажите и мне пожалуйста. Пишу приложение на Delphi для работы с базой в Access, соединение с базой через ADO. Добавление/редактирование записей в главной таблице и которая отображается реализовано след.образом: есть главная форма, на ней по кнопке вызывается форма для добавления/редактирования уже имеющейся записи. На этой форме есть Edit-ы и возле каждого кнопка для вызова соответствующего справочника и выбора из него нужной записи. Код добавления записи по вышеприведённым примерам работает. Вот мой код для кнопки добавить:
Программу делал по книге, в Delphi новичок, прошу пожалуйста подсказать/помочь. Как можно реализовать редактирование записи. DBNavigator-ом устанавливаем курсор на записи необходимой для редактирования, затем вызывается кнопкой на главной форме "редактировать" форма для добавления/редактирования. Как сделать так, чтобы в Edit-ах на этой форме отображались данные текущей записи в таблице и чтоб их можно было редактировать (как это реализовано у меня путём выбора записей из справочников)? Если бы писал на SQL 2000, то можно в SQL-е сделать хранимые процедуры на SQL языке, потом в Delphi в DataModule их вызывать и вообщем есть код для этого в книге. Но есть ли такая возможность, если база в Access, а не в SQL 2000? Или как это можно сделать по-другому, к примеру процедура не вызвывается с сервера SQL, а уже хранится в приложении Delphi? Аналогично интересует вопрос удаления записи. p.s. Как отображать текущие данные в форме и редактировать их в ней разобрался сам, осталось с удалением решить. Это сообщение отредактировал(а) Veniamin - 22.4.2008, 16:07 |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Добавлено через 1 минуту и 5 секунд
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |