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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2014, 23:15   #1
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию Работа INSERT INTO

Есть 2 таблицы Одна таблица Заказы вторая таблица Меню выбираю с таблицы выборочно и добаляю в таблицу Заказы то что написана в ручную в эдитах они в биваються точто написана через insert into не вбиваеться что делать вчем вся заглоска(


Код:
procedure TForm16.Button1Click(Sender: TObject);
var s:String;
begin
   if  (DBEdit3.Text='') then
 ShowMessage('Количество') else
  if  (DBEdit5.Text='') then
 ShowMessage('Дата') else
 if  (DBEdit6.Text='') then
 ShowMessage('Номер столика') else
 if  (DBComboBox2.Text='') then
 ShowMessage('Статус') else
   begin
    if DataModuleMenu.AdoTableZakazy.Modified then
        begin
        //s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед]) VALUES ('
+QuotedStr(dbLookUpComboBox1.Text)+', '+QuotedStr(DBEdit1.Text)+')';
          s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед], [Вес/Объем]) VALUES ('+QuotedStr(dbLookUpComboBox1.Text)+', 
'+QuotedStr(DBEdit1.Text)+', '+QuotedStr(DBEdit2.Text)+')';
        DataModuleMenu.ADOQuery1.Close;
        DataModuleMenu.ADOQuery1.SQL.Clear;
        DataModuleMenu.ADOQuery1.SQL.Add(s);
        try
        begin
          DataModuleMenu.ADOQuery1.ExecSQL;
           ShowMessage('Запись успешно сохранена!');
        end
        except
           ShowMessage('Ошибка при добавление записи!');
        end;
          DataModuleMenu.ADOTableZakazy.Active:=false;
      DataModuleMenu.ADOTableZakazy.Active:=true;
    form16.hide;
    end
    else
    form16.hide;
end;
end;

Последний раз редактировалось Stilet; 08.05.2014 в 11:16.
курбанниязов вне форума Ответить с цитированием
Старый 08.05.2014, 08:17   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Код:
s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед], [Вес/Объем]) VALUES ('''
+QuotedStr(dbLookUpComboBox1.Text )+''', '''+QuotedStr(DBEdit1.Text)+''', '''+QuotedStr(DBEdit2.Text)+''')';
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)

Последний раз редактировалось Stilet; 08.05.2014 в 11:17.
BARNEY вне форума Ответить с цитированием
Старый 08.05.2014, 11:17   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
''', '''
Не понял... Это зачем?
ИМХО нужно +','+
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2014, 13:26   #4
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Ага сори.... Ваша правда не заметил QuotedStr .

тогда проблема в русских названиях.. хотя надо смотреть текст запроса на выходе.

Код:
 s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед], [Вес/Объем]) VALUES ('+QuotedStr(dbLookUpComboBox1.Text)+', 
'+QuotedStr(DBEdit1.Text)+', '+QuotedStr(DBEdit2.Text)+')';
inputbox('','',s);
результат сюда
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 08.05.2014, 16:18   #5
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию

Выдает ошибку
Размер поля не достаточен чтобы принять добавляемые данные!!

Последний раз редактировалось курбанниязов; 08.05.2014 в 16:26.
курбанниязов вне форума Ответить с цитированием
Старый 08.05.2014, 16:39   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
QuotedStr(DBEdit1.Text)
Тримирруй строку:
Код:
QuotedStr(Trim(DBEdit1.Text))
По крайней мере попробуй триммировать все параметры.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2014, 17:39   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

тут триммировать надо совсем другое
почему цена строкой? почему объем строкой?
сколько длина в имени и в типе наименования?
eval вне форума Ответить с цитированием
Старый 08.05.2014, 18:19   #8
курбанниязов
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 59
По умолчанию

s:='INSERT INTO Заказы ([Наименование]) VALUES ('+QuotedStr(dbLookUpComboBox1.Text )+')';- этот кусок на наименование добавляет!!!!

s:='INSERT INTO Заказы ([Наименование], [Цена на 1 ед], [Вес/Объем]) VALUES ('+QuotedStr(dbLookUpComboBox1.Text )+',
'+QuotedStr(DBEdit1.Text)+', '+QuotedStr(DBEdit2.Text)+')';-На этот кусок он вообще не реагирует(

Что сделать можно будет?

Последний раз редактировалось курбанниязов; 08.05.2014 в 18:38.
курбанниязов вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INSERT Masafi PHP 7 13.01.2013 12:32
Работа с SQL запросами INSERT, UPDATE, DELETE в DataGridView SERG1990 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 15.12.2012 13:46
INSERT INTO aank10 C/C++ Базы данных 1 10.12.2011 21:53
Insert Progsenya SQL, базы данных 8 19.02.2011 18:29
Insert - ? Evgenii БД в Delphi 2 06.07.2009 02:24