Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
#1

Сохранение данных из Edit в базу данных (не Access)

17.03.2013, 23:03. Просмотров 2595. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста сохранить данные из Edit-а в базу данных.

У меня есть DBGrid, при нажатие на любую строчку он выводит данные в Edit, просто показывает их. Мне надо, чтобы, когда меняешь данные в Edit и нажимаешь на кнопку Сохранить, данные сохранялись в базу данных и обновлялись в DBGrid-е. Базу данных создавал через BDEAdministrator, а таблицы через Database Desktop.

Прошу написать пример кода, который надо прописать на кнопку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 23:03
Ответы с готовыми решениями:

Сохранение из Edit в базу данных
Всем доброго времени суток! В таблицу БД Access сохраняю значение Edit.Text....

Delphi и БД Access. Сохранение данных из одной таблицы в другую. Выбор данных по кнопке
Добрый день. Нужна помощь, бьюсь над задачей пару дней, не могу ничего...

Перенесение данных из StringGrida в базу данных Access
Добрый день! Прошу помощь в перенесении данных из StringGrida в базу данных...

Сохранение данных из Edit в Excel
Доброго времени суток уважаемые форумчане) Возник вопрос на который...

Сохранение информации в базу данных
Дело вот в чём, БД сделана через database dekstop. Когда делал через Acces всё...

11
rdama
567 / 290 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
18.03.2013, 09:11 #2
Delphi
1
2
3
Таблица.Edit;
Таблица.FieldByName('МоеЧудесноеПоле').Value := Edit.Text;
if Таблица.State в [dsEdit, dsInsert] then Таблица.Post;
1
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
18.03.2013, 15:38  [ТС] #3
if Таблица.State в [dsEdit, dsInsert] then Таблица.Post;

Что тут надо прописать место [dsEdit, dsInsert], я понял, что если мы меняем таблицу, то сохраняем её, но место того, что надо прописать?

И насколько я понимаю, тут идёт сохранение в таблицу TTable, а мне нужно, чтобы сохранялось в базу данных.
0
unick12345
1704 / 1063 / 161
Регистрация: 27.03.2009
Сообщений: 4,016
18.03.2013, 15:41 #4
это параметры для доступа к базе. так и должны быть. разрешение на изменение и на запись
0
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
18.03.2013, 15:43  [ТС] #5
Так что там прописать надо, извините я просто новичёк
0
unick12345
1704 / 1063 / 161
Регистрация: 27.03.2009
Сообщений: 4,016
18.03.2013, 15:47 #6
так и оставить. посмотри свойства таблицы Options. там есть такие доступы как dsedit, dsinsert и т.д. в данном случае ты сразу проверяешь их свойство.
0
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
18.03.2013, 15:48  [ТС] #7
Извиняюсь, за выше сказанное насчёт сохранение в базу данных, всё правильно, он сохраняет и в базу и обновляет сразу в таблице, спасибо огромное за помощь.

Но всё таки хотелось бы разобраться с if Таблица.State в [dsEdit, dsInsert] then Таблица.Post;, потому что место этого я просто написал Таблица.Post и он сохраняет, но разобраться всё равно хочется, если не тяжело, объясните начинающему
0
unick12345
1704 / 1063 / 161
Регистрация: 27.03.2009
Сообщений: 4,016
18.03.2013, 15:54 #8
по коду
если свойства таблицы [(в квадратных скобках свойства) dsedit-можно редактировать, dsinsert-можно добавлять] в статусе true(тоесть разрешено) тогда обновить.
в квадратных скобках ты указываешь или проверяешь в каком статусе свойства: без черточки впереди значит true. с черточкой значит false. пример:
dsedit - можно редактировать
-dsedit - нельзя редактировать
1
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
18.03.2013, 15:58  [ТС] #9
То есть надо написать так: if Table1.State[dsEdit, dsInsert] then Table1.Post; ?

Добавлено через 1 минуту
Он ругается на Table1.State[dsEdit, dsInsert]
0
unick12345
1704 / 1063 / 161
Регистрация: 27.03.2009
Сообщений: 4,016
18.03.2013, 16:04 #10
попробуй Table1 in State [dsEdit, dsInsert]
0
rdama
567 / 290 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
18.03.2013, 16:05 #11
Дословно в этой строке написано. Перевод на русский
Если Таблица находится в одном из состояний [редактирование, вставка новой записи], тогда данные необхоимо сохранить.
Вот и все ничего более. Это проверка состояния набора данных. Чтоб не напороться на ошибку Dataset not in edit or insert mode.
Delphi
1
 if Table1.State in [dsEdit, dsInsert] then Table1.Post;
1
Denis3
0 / 0 / 2
Регистрация: 14.03.2013
Сообщений: 43
18.03.2013, 16:11  [ТС] #12
Всё, я написал не if Table1 in State[dsEdit, dsInsert] then Table1.Post; а

if Table1.State in [dsEdit, dsInsert] then Table1.Post;

Всё получилось, спасибо вам за помощь, проблема решена

Добавлено через 46 секунд
Спасибо вам огромное, можно закрывать, вдруг у кого ещё эта проблема появиться.
0
18.03.2013, 16:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 16:11

Запись данных с Edit в Access
Доброго времени суток. У меня есть БД в Access(там одно поле ФИО) , нужно что...

Запись данных с Edit в Access
Здравствуйте! Помогите разобраться. У меня есть БД в Access ( тематика...

Сохранение данных в БД Access
В моей программе возможно добавление данных в БД, используя при этом код Delphi...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru