![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Соединила Делфи с Mysql, все работает, мне нужно изменить данные в таблице, в которой три столбца ID Login password, хотелось бы отдельно создать редактирование пароля и отдельно логина, пыталась, что-то сделать, но не получается.
SimpledataSet1.Append; 1 Form3.SimpleDataSet1.FieldByName('password').Value :=MaskEdit3.Text; 2 Form3.SimpleDataSet1.FieldByName('login').Value:= 'Admin'; 3 Form3.SimpleDataSet1.FieldByName('id').Value:= '1'; 4 SimpleDataSet1.Post; 5 SimpleDataSet1.Refresh; < - это примерно для пароля, только пока еще не решила с что делать с логином, в 5 строке выдает ошибку, никогда не работала с Mysql. |
|
#2
|
||||
|
||||
|
Набор данных сначала нужно подготовить для изменения/добавления:
Код:
Form3.SimpleDataSet1.Edit //для редактирования Form3.SimpleDataSet1.Append //для добавления |
|
#3
|
|||
|
|||
|
у меня все это есть в начале, во время запуска программы как бы все меняет и работает в DBGrid, но не сохраняет результат.
|
|
#4
|
||||
|
||||
|
Без полного исходного кода, вряд-ли получится помочь.
|
|
#5
|
|||
|
|||
|
Вот код):
procedure TForm3.BitBtn1Click(Sender: TObject); Код:
begin
if form3.simpleDataSet1.CanModify = true then
begin
if MaskEdit1.Text<> Form3.SimpleDataSet1.FieldByName('password').AsString then
begin
ShowMessage('Старый пароль не верен');
Abort
end
else
begin
if MaskEdit2.Text<>MaskEdit3.Text then
begin
ShowMessage('Потверждение не верно');;
Abort
end
else
Begin
SimpledataSet1.Edit;
SimpledataSet1.Append;
SimpledataSet1.Insert;
Form3.SimpleDataSet1.FieldByName('password').AsString:=MaskEdit3.Text;
Form3.SimpleDataSet1.FieldByName('login').Value:= 'Admin';
Form3.SimpleDataSet1.FieldByName('id').Value:= '1';
SimpleDataSet1.Post;
end;
end;
end;
end;
end.Последний раз редактировалось Admin, 14.05.2011 в 22:42. |
|
#6
|
||||
|
||||
|
Код:
SimpledataSet1.Edit; SimpledataSet1.Append; SimpledataSet1.Insert; ![]() А если серьезно, выберите что-то одно. Если у вас предполагается по задумке добавление новой записи, то Append или Insert (но не одновременно). Если же правка текущей записи, то Edit |
|
#7
|
||||
|
||||
|
Насколько я понял используются компоненты с закладки dbExpress? Как-то тоже мучился с такой же проблемой. Визуально изменения происходят, но в базе нет, т.е. закрыл программу, открыл, а там все как прежде.
Скачайте вот это и будет вам счастье... |
|
#8
|
|||
|
|||
|
а другого по проще выхода нет?
|
|
#9
|
|||
|
|||
|
В любом случае в таблице не сохраняется..., что нужно сделать чтобы в самой Mysql базе сохранились данные?
|
|
#10
|
||||
|
||||
|
ClientDataSet.ApplyUpdates(0) или SimpleDataSet.ApplyUpdates(0) попробуйте
|
|
#11
|
|||
|
|||
|
а транзакции в mySQL автоматически комитяцца? и какой движок используете для таблиц? MyISAM или InnoDB?
|
|
#12
|
|||
|
|||
|
у меня MyISAM
|