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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2013, 16:30   #1
shaguard
 
Регистрация: 13.09.2009
Сообщений: 3
По умолчанию insert into как исправить ошибку delphi+access

есть строка
Код:
data=('"'+Edit2.Text+'","'+Edit3.Text+'","' +Edit4.Text+'","'+Edit5.Text+'"');
Строка передается на сервер уже с заполнением в виде ("1","2","3","4") и сохраняется строкой в переменную core
и есть такой код:
Код:
Form5.ADOQuery1.SQL.Clear;
Form5.ADOQuery1.SQL.Add('INSERT INTO таблица1(Ф,И,О,ДР)');
Form5.ADOQuery1.SQL.Add('VALUES ('+core+')');
Form5.ADOQuery1.ExecSQL;
Form5.ADOQuery1.Sql.Clear;
Form5.ADOQuery1.Sql.Add('SELECT * FROM таблица1');
Form5.ADOQuery1.Open;
Суть проблемы такова, что когда добавляешь данные ошибка: "Ошибка синтаксиса в инструкции INSERT INTO" подскажите как исправить, т.к. не силен в SQL запросах!

Последний раз редактировалось shaguard; 24.03.2013 в 16:38.
shaguard вне форума Ответить с цитированием
Старый 24.03.2013, 16:55   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Криминала в формировании текста запроса не видно.
Значит, проблема в строковых значениях, передаваемых в запрос.
Прик вне форума Ответить с цитированием
Старый 24.03.2013, 19:05   #3
shaguard
 
Регистрация: 13.09.2009
Сообщений: 3
По умолчанию

Я разобрался оказывается поля должны указываться через квадратные скобки!
Код:
Form5.ADOQuery1.SQL.Add('INSERT INTO òàáëèöà1 ([Ф],[И],[О],[ДР]');
Спасибо всем)
shaguard вне форума Ответить с цитированием
Старый 24.03.2013, 19:15   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
поля должны указываться через квадратные скобки!
Ничего подобного. В квадратных скобках указываются наименования полей, содержащие "не корректные" (с точки зрения сервера СУБД) символы. Например, пробел, запятая и т.п.
Если Аксесс локализован ("русифицирован") , то в приведенном примере в имени полей нет не корректных символов, поэтому квадратные скобки в этом случае не требуются.
Прик вне форума Ответить с цитированием
Старый 24.03.2013, 19:19   #5
shaguard
 
Регистрация: 13.09.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Прик Посмотреть сообщение
Ничего подобного. В квадратных скобках указываются наименования полей, содержащие "не корректные" (с точки зрения сервера СУБД) символы. Например, пробел, запятая и т.п.
Если Аксесс локализован ("русифицирован") , то в приведенном примере в имени полей нет не корректных символов, поэтому квадратные скобки в этом случае не требуются.
Спасибо за информацию, но без квадратных скобок почему-то не работает, а с ними как по маслу!
shaguard вне форума Ответить с цитированием
Старый 24.03.2013, 19:50   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кириллические названия полей могут быть проблемой и ADO-провайдера. И лучше их не использовать. А в данном случае вообще не понимаю смысла в односимвольных именах полей. Мне понятно название поля 'Фамилия', хотя бы для того, чтобы в гриде колонка на автомате так именовалась. Хотя и не пользуюсь таким способом. Какой смысл в имени 'Ф'? Лень было несколько букофф набрать при создании таблицы?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибку на проге Delphi Алексейчик Помощь студентам 2 20.12.2012 23:11
Как исправить ошибку в Delphi саша40 Общие вопросы Delphi 6 19.12.2012 19:01
как исправить ошибку Katrina* Паскаль, Turbo Pascal, PascalABC.NET 9 21.12.2011 00:17
Исправить ошибку Delphi Kati Помощь студентам 3 13.10.2010 19:27
Как исправить ошибку? True_girl Помощь студентам 0 19.04.2010 22:47