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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2010, 14:55   #1
atemic1
Новичок
Джуниор
 
Регистрация: 24.09.2010
Сообщений: 5
По умолчанию Удаление и изменения записей из БД через клинт

Добрый день!
Вот инструкция добавления записи в бд через клиент:
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='INSERT INTO Сотрудники VALUES(:№_Сотрудника,:Фио,:Оклад,:Д Р)';
ADOquery2.Parameters.ParamByName('№ _Сотрудника').Value:=edit2.text;
ADOquery2.Parameters.ParamByName('Ф ио').Value:=edit3.text;
ADOquery2.Parameters.ParamByName('О клад').Value:=edit4.text;
ADOquery2.Parameters.ParamByName('Д Р').Value:=edit5.text;
ADOquery2.ExecSQL;

ВОПРОС!
Как сделать удаление и изменение записей в этом же стиле! Премного благодарен!
atemic1 вне форума Ответить с цитированием
Старый 24.09.2010, 16:09   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

читай про Delete и Update...
maLoy*508 вне форума Ответить с цитированием
Старый 24.09.2010, 16:17   #3
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

удаление - 'DELETE FROM Сотрудники WHERE ???'
изменение 'UPDATE Сотрудники SET ФИО=???, Оклад=??? WHERE ????'
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 24.09.2010, 18:15   #4
atemic1
Новичок
Джуниор
 
Регистрация: 24.09.2010
Сообщений: 5
По умолчанию

Если таким образом, то выдает ошибку. Что тут нужно исправить?
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника =: edit2.text';
ADOquery2.Parameters.ParamByName('№ _Сотрудника').Value:=edit2.text;
ADOquery2.ExecSQL;
atemic1 вне форума Ответить с цитированием
Старый 24.09.2010, 18:17   #5
atemic1
Новичок
Джуниор
 
Регистрация: 24.09.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
читай про Delete и Update...
Проблем с написание запроса нету. Проблемы именно с дэлфями(
atemic1 вне форума Ответить с цитированием
Старый 24.09.2010, 18:29   #6
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от atemic1 Посмотреть сообщение
Если таким образом, то выдает ошибку. Что тут нужно исправить?
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника =: edit2.text';
ADOquery2.Parameters.ParamByName('№ _Сотрудника').Value:=edit2.text;
ADOquery2.ExecSQL;
надо
Код:
ADOQuery2.SQL.Text:='Delete From Sotrudniki Where Sotrudnik_Num = :Sotrudnik_Num';
ADOquery2.Parameters.ParamByName('Sotrudnik_Num').Value:=edit2.text;
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 24.09.2010, 18:29   #7
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Код:
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника = '"+edit2.text+"'';
Кавычки проверь...
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.09.2010, 18:41   #8
atemic1
Новичок
Джуниор
 
Регистрация: 24.09.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Код:
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника = '"+edit2.text+"'';
Кавычки проверь...
теперь ошибка- Parameter '№_Сотрудника' not found
atemic1 вне форума Ответить с цитированием
Старый 24.09.2010, 20:27   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

смотрим пост #6

вместо Sotrudnik_Num
напишите имя поля в таблице СОТРУДНИКИ
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.09.2010, 20:31   #10
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Почитай книжку!

Тебе надо использовать либо
Код:
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника = "'+edit2.text+'"';
Тогда строка
Код:
ADOquery2.Parameters.ParamByName('№ _Сотрудника').Value:=edit2.text;
не нужна!

Либо
Код:
ADOQuery2.SQL.Text:='Delete From Сотрудники Where №_Сотрудника = :НомСотрудника';
ADOquery2.Parameters.ParamByName('НомСотрудника').Value:=edit2.text;
P.S. Лучше конечно с использованием параметра
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление повторяющихся записей в БД Dinamik БД в Delphi 8 22.03.2012 22:05
Макрос для изменения записей trattaturen Microsoft Office Access 4 02.10.2010 13:22
Удаление повторяющихся записей gavrylyuk Microsoft Office Excel 3 28.06.2008 08:10
Удаление записей Blackmore БД в Delphi 2 26.05.2008 08:18
Удаление записей Arsgun БД в Delphi 7 09.07.2007 11:56