![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
СНОВА INSERT [D7, XP]
Elafor © (2010-01-21 09:44:00)Добрый день. Я знаю что уже много тем было по запросам, но чего то толи до меня не доходит, то ли я чего то не правильно делаю...
(Эт все в Access 2003)Необходимо из имеющийся таблицы DBGrid1(Список товаров(Название товара, цена за ед товара, количество товара)) пренести выбранные записи в таблицу DBGrid2(Заказ(Название товара, цена за ед товара, количество товара, Заказываемое количество, цена)).
Я так понял просто перенести данные как из одного stringgrida в другой не получится(если такой способ имеется, то желательно узнать его)
Пробовал через запрос приведенный в одной из тем -
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(' INSERT INTO Table1 (Field1) ');
ADOQuery1.SQL.Add(' VALUES ('+Edit1.Text+')');
ADOQuery1.Open;
BookName.Refresh;
DBGrid1.Repaint;
//MsgBox(Edit1.Text);
end;
Ничего не получилось
Вопросы:
1. Возможно ли как то осуществить перенос данных из одного DBGrida в другой?
2. Как написать SQL запрос INSERT(Перенос записей(не всех) из таблицы Список продуктов в таблицу Заказ) для нескольких полей.
Сразу благодарю всех кто поможет.
Elafor (2010-01-22 21:07:00) [1]Спсиб за советы, я ее сделал!!! УРА УРА УРА!
Anatoly Podgoretsky (2010-01-22 16:55:00) [2]> Elafor (22.01.2010 16:38:36) [36]
Раз ты можешь переместиться, то что мешает ее запомнить?
Anatoly Podgoretsky (2010-01-22 16:54:00) [3]Нет.
Текущую определять не надо она текущая
Elafor (2010-01-22 16:38:00) [4]Еще вопрос:
Чтобы переместить курсор на последнюю запись надо использовать DataModule.ADOTable.Last, а есть какая нибудь процедура чтоб определять является ли выбранная запись последней?
Я нашел как вывести количество всех записей, думал с помощью этого буду определять, но вот как определить текущую не понял.
Elafor (2010-01-22 15:31:00) [5]Ладно, с переносом данных из одной таблицы в другую разобрался..вроде.
> KilkennyCat © (22.01.10 12:04) [31]
> я бы не стал такие глобальные вещи вешать на шоу формы.
> Оно далеко не однократно может быть вызвано. Повесь это
> там, где делаешь вызов формы.
Спасиб, сразу не подумал, теперь исправил.
KilkennyCat (2010-01-22 13:19:00) [6]ну это если в промежутке между вызовами у него че-нить не должно добавиться... тогда возникнет вопрос, почему иногда исчезают данные. Хотя, учитывая ситуацию заглушки, с этой прогой вопроса не возникнет.
Anatoly Podgoretsky (2010-01-22 13:07:00) [7]
> я бы не стал такие глобальные вещи вешать на шоу формы.
> Оно далеко не однократно может быть вызвано. Повесь это
> там, где делаешь вызов формы.
Нечего страшного, укаолько не удаляй больше не удались. Просто будут лишнии вызовы
Anatoly Podgoretsky (2010-01-22 12:06:00) [8]> Elafor (22.01.2010 10:41:28) [28]
> В конце концов это раздел - Начинающие
А ты как к ним относишься?
KilkennyCat (2010-01-22 12:04:00) [9]я бы не стал такие глобальные вещи вешать на шоу формы. Оно далеко не однократно может быть вызвано. Повесь это там, где делаешь вызов формы.
Elafor (2010-01-22 10:45:00) [10]*Çàêàç - Заказ
Elafor (2010-01-22 10:44:00) [11]Еще у меня при отображение формы в которой я выбираю записи которые необходимо переносить, я удаляю все записи из таблицы заказ, вот так -
procedure TForm3.FormShow(Sender: TObject);
begin
DataModule5.ADOCommand1.CommandText:='DELETE* FROM Çàêàç;';
DataModule5.ADOCommand1.Execute;
end;
Elafor (2010-01-22 10:41:00) [12]
> Дмитрий Белькевич
Уточнение - по программированию с использованием данных из БД не читали
В конце концов это раздел - Начинающие
Я написал такой код -
DataModule5.ADOCommand1.CommandText:='INSERT INTO Заказ([Название продукта], [Цена за ед товара], [Количество на складе], [Код завхоза]) VALUES(:NameT, :ByeT, :ValT, :Zavhoz);';
DataModule5.ADOCommand1.CommandType:=cmdText;
DataModule5.ADOCommand1.Parameters.ParamByName('NameT').Value:= DBEdit1.Text;
DataModule5.ADOCommand1.Parameters.ParamByName('ValT').Value:= DBEdit2.Text;
DataModule5.ADOCommand1.Parameters.ParamByName('ByeT').Value:= DBEdit3.Text;
DataModule5.ADOCommand1.Parameters.ParamByName('Zavhoz').Value:= DBEdit4.Text;
DataModule5.ADOCommand1.Execute;
В DBEdit'ах хранятся значения из первой таблицы, Заказ - вторая таблица, в которую я переношу данные из первой
Пишет ошибку - class EOleException - Несоответствие типов данных в выражении условия отбора.
но я все поля в БД([Название продукта], [Цена за ед товара], [Количество на складе], [Код завхоза]) проверил - типы одинаковые, что это может быть?
KilkennyCat (2010-01-22 10:35:00) [13]
> будет учить как портянки мотать.
Зачем учить, можно на форуме спросить.
Anatoly Podgoretsky (2010-01-22 08:54:00) [14]То Военное Учебное Заведение, будет учить как портянки мотать.
Дмитрий Белькевич (2010-01-21 23:59:00) [15]>(Эт все в Access 2003)Необходимо из имеющийся таблицы DBGrid1(Список товаров(Название товара, цена за ед товара, количество товара)) пренести выбранные записи в таблицу DBGrid2(Заказ(Название товара, цена за ед товара, количество товара, Заказываемое количество, цена)).
Разбиваем задачу на части.
1. Найти выбранные в гриде записи.
2. Добавить их в нужную таблицу.
3. Обновить второй грид, перечитав данные из таблицы.
>в том то и дело что лекции не читали по программированию
Не читали? Или не слушал? Если первое - то ВУЗ - г-но, если второе - то сам себе виноват.
Плохиш (2010-01-21 14:47:00) [16]Видно не твоё это, не твоё.
Elafor (2010-01-21 11:42:00) [17]в том то и дело что лекции не читали по программированию, читали по работе с Rational Rose(что я уже сделал)на счет программы - подразумевается что меня обучили основам нескольких языков программирования, а как ты будеш писать дело твоё
Anatoly Podgoretsky (2010-01-21 11:40:00) [18]Институт более дельное, чем форум.
Elafor (2010-01-21 11:39:00) [19]Да я же не спорю что я много чего не умею, но где же мне в такой ситуации этому научится - не чего дельного кроме этого форума не нашел...
Sergey13 (2010-01-21 11:37:00) [20]> [16] Elafor (21.01.10 11:28)
> а по предмету Основы проектирования информационных систем
> очень муторно делать систему, если ты даже не догадываешся
> как это в действительности работает:(
Насколько я помню институт - сначала читается курс лекций с семинарами, а ПОТОМ дается на выполнение курсовой проект. И если ты "даже не догадываешся как это в действительности работает", то значит ты этих лекций не слушал.
> [17] Elafor (21.01.10 11:30)
> и еще как должна называться прога в которой на 80% кнопок
> должны быть заглушки?
Значит то, на чем ты встал входит в другие 20%. Не меню же тебе дали разрабатывать.
Впрочем это уже лирика.