Поиск:

Ответ в темуСоздание новой темы Создание опроса
> paradox: ошибка insert-запроса 
V
    Опции темы
ahito1
  Дата 3.1.2009, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Доброго времени суток Всем!
Перелопатил весь форум, но ничего работающего не нашел. Есть таблица "Класс.db" (Paradox) подключена к Query2, данные выводятся в DBGrid.  
Необходимо сделать запрос SQL в Query2, чтобы добавить в эту таблицу класс(со всеми параметрами). Используя такой запрос не идёт:(
Код Делфи:
Код

MainForm.Query2.Close;
  MainForm.Query2.SQL.Clear;
  MainForm.Query2.SQL.Add('INSERT INTO CLASS.DB(КЛАСС, УЧЕНИКОВ,'+
  ' УРОКОВ/ДЕНЬ МИН., УРОКОВ/ДЕНЬ МАКС., ВЫХОДНЫЕ)' +
  ' VALUES (:Prm1, :Prm2, :Prm3, :Prm4, :Prm5, :Prm6);');
  MainForm.Query2.ParamByName('Prm1').Value:=Edit4.Text;
  MainForm.Query2.ParamByName('Prm2').Value:=UpDown2.Position;
  MainForm.Query2.ParamByName('Prm3').Value:=UpDown1.Position;
  MainForm.Query2.ParamByName('Prm4').Value:=UpDown3.Position;
  MainForm.Query2.ParamByName('Prm5').Value:=UpDown4.Position;
  MainForm.Query2.ParamByName('Prm6').Value:=Edit3.Text;
  MainForm.Query2.Open; 


В файле сама таблица class.db

Это сообщение отредактировал(а) skyboy - 3.1.2009, 03:10

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Class.DB 4,00 Kb
PM MAIL   Вверх
skyboy
Дата 3.1.2009, 03:11 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(ahito1 @  2.1.2009,  23:46 Найти цитируемый пост)
УРОКОВ/ДЕНЬ МИН.

убери кирилицу из имен таблиц/столбцов.
убери спецсимволы из имен таблиц/столбцов.
приведи выводимую ошибку.
PM MAIL   Вверх
Akella
Дата 3.1.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(ahito1 @  3.1.2009,  00:46 Найти цитируемый пост)
 MainForm.Query2.Open; 

Заранее извините, но... это издевательство какое-то, что ли? За последний довольно короткий промежуток времени уже третий "программист" не знает разницы между ExecSQL и Open smile 

Это сообщение отредактировал(а) Akella - 3.1.2009, 13:31
PM MAIL   Вверх
ahito1
Дата 3.1.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, использовал и ExecSQL и Open результата нет. Таблица из грида изчезает и всё, ничего не добавляется.


skyboy, сделал так:
Код

  MainForm.Query2.Close;
  MainForm.Query2.SQL.Clear;
  MainForm.Query2.SQL.Add('INSERT INTO CLASS.DB(Name, Smena,'+
  'Uchenikov, urokovmin, urokovmax, Vihodnie)' +
  ' VALUES (:Prm1, :Prm2, :Prm3, :Prm4, :Prm5, :Prm6);');
  MainForm.Query2.ParamByName('Prm1').Value:=Edit4.Text;
  MainForm.Query2.ParamByName('Prm2').Value:=UpDown2.Position;
  MainForm.Query2.ParamByName('Prm3').Value:=UpDown1.Position;
  MainForm.Query2.ParamByName('Prm4').Value:=UpDown3.Position;
  MainForm.Query2.ParamByName('Prm5').Value:=UpDown4.Position;
  MainForm.Query2.ParamByName('Prm6').Value:=Edit3.Text;
  MainForm.Query2.ExecSQL;


Выдает ошибку: 
Project Project9.exr raised exception class EDBEngineError with message 'Type mismatch in expression.'.

Что именно  я делаю не так как надо? smile 

Это сообщение отредактировал(а) ahito1 - 3.1.2009, 17:48
PM MAIL   Вверх
Akella
Дата 3.1.2009, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



ahito1, извини, но я не стану тебя обучать принципам и методам работы с БД. Купи книжку или в тырнете почитай.
PM MAIL   Вверх
ahito1
Дата 3.1.2009, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, я понял в чем ошибка, не работало из-за несоответсвия типов, теперь работает smile 
Только вот теперь меня посещают мысли, бросить нафиг этот парадокс и перейти на аксесс, как он?стоит ли переходить? 
PM MAIL   Вверх
Akella
Дата 3.1.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Нет, не стОит! Если уж переходить, то на клиент-сервер: Firebird, Postgre, MSSQL, MySQL, Oracle. 
PM MAIL   Вверх
ahito1
Дата 4.1.2009, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, а какую из этих субд используете вы? Что лучше MS SQL или MySQL?
PM MAIL   Вверх
Akella
Дата 4.1.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(ahito1 @  4.1.2009,  01:19 Найти цитируемый пост)
Что лучше MS SQL или MySQL? 

Такие темы не раз обсуждались, уже надоело, если честно.
Я использую Firebird по некоторым причинам:

1. Бесплатность (это, наверное одно из основных).
2. Кроссплатформенность (хотя все мои программы только для виндов)
3. Простота и быстрота установки.
4. Не требует администрирования (установил и забыл).
5. Возможность "встраивать" сервер в своё приложение (т.е. работа с базой без инсталляции сервера).
6. Не требовательность с ресурсам.
7. Неплохо развивается.
8. IBExpert - отличная среда разработки на русском и бесплатная.
9. Отличные компоненты доступа FIBPlus (не бесплатные, но недорогие).
10. Поддержка юникода (UTF8).

Есть, конечно и минусы, а у кого их нет:
1. Отсутствие документации, тем более на русском (самая лучшая на русском - это книга Хелен Борри).
2. Сервер может "загнуться" на не рационально сформированном запросе.
3. Нет нормальной своей родной среды разработки.

Я думаю, что это не все ++ и --.
Спорить, как правило, можно бесконечно. Стандарт SQL для всех один. Но у всех серверов есть свои вкусности.

Начни с MSSQL Express (MSSQL Express - это бесплатная версия сервера и есть среда разработки, компоненты доступа ADO уже присутствут в Delphi) или с Firebird. Может со временем, попробовав несколько - ты определишься. 
PM MAIL   Вверх
ahito1
Дата 4.1.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, большое спасибо! smile 
PM MAIL   Вверх
Akella
Дата 4.1.2009, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Да, и не забывай при переходе на клиент-сервер о том, что у тебя добавятся ещё некоторые головные боли:
    работа с транзакциями (нужно вовремя открыть, закрыть, подтвердить, откатить, установить параметры транзакции для чтения или записи данных)
    как не показывать пользователю все данные сразу, а дать возможно отобрать их "автоматом" или с помощью пользовательских фильтров, если данных в запросе может быть возвращено великое множество

PM MAIL   Вверх
ahito1
Дата 4.1.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, какую литературу/ресурсы ты бы посоветовал для начала?
PM MAIL   Вверх
Akella
Дата 4.1.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



В PM ответил.
и вот


PM MAIL   Вверх
ahito1
Дата 9.1.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 20.8.2007

Репутация: нет
Всего: -1



Akella, спасибо smile 
Тема закрыта.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1213 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.