Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизDelphi - ADO - DBF (Ошибка синтаксиса) Найти похожие ветки
← →
Мальчик (2012-02-29 17:14) [0]Здравствуйте.
Столкнулся с проблемой при работе с ADO. Установил соединение с DBF,
выполняю INSERT. Работает. Но, если имя поля в таблице "Names"
добавление не выполняется. Ошибка синтаксиса Insert into. Я так понял, поле с зарезервированным именем. Но мне просто необходимо сажать именно в это поле.
qMain.SQL.Text := "insert into mtk.dbf (NAMES) values (:ns)";
qMain.Parameters.ParamByName("ns").Value := "Тест";
qMain.ExecSQL;
Подскажите как быть?
Сторонние компоненты использовать мне нельзя, BDE тоже.
← →
Ega23 © (2012-02-29 17:15) [1]
qMain.SQL.Text := "insert into mtk.dbf ("NAMES") values (:ns)";
?
← →
Delphi2007 (2012-02-29 17:19) [2]
> qMain.SQL.Text := "insert into mtk.dbf ("NAMES") values
> (:ns)";
> ?
>
"Инструкция INSERT INTO содержит неизвестное имя поля ""NAMES"". Проверьте, что имя задано без ошибок, и повторите операцию".
← →
sniknik © (2012-02-29 17:19) [3]> с зарезервированным именем.
такие имена, а также с пробелами и т.д. нестандартные, экранируются кавычками (или другими символами в зависимости от движка), попробуй [Names].
> BDE тоже.
ты его уже используешь. просто "с широко закрытыми глазами".
← →
Delphi2007 (2012-02-29 17:22) [4]
> такие имена, а также с пробелами и т.д. нестандартные, экранируются
> кавычками (или другими символами в зависимости от движка),
> попробуй [Names].
То, что нужно. Спасибо.
← →
Anatoly Podgoretsky © (2012-02-29 17:36) [5]Или так
qMain.SQL.Text := "insert into mtk.dbf ("NAMES") values (:ns)";
или такqMain.SQL.Text := "insert into mtk.dbf ([NAMES]) values (:ns)";
Какой подойдет, в зависимости от провайдера
← →
Delphi2007 (2012-02-29 17:38) [6]Подскажите пожалуйста как настраивать кодировку. Я сейчас сажаю данные с кириллицей, а они не читабельны в FoxPro. Нужно прописывать в строке соединения или при передаче параметров менять кодировку?
← →
Ega23 © (2012-02-29 17:38) [7]ИМХО, надо ноги за такие наименования отстреливать.
Костыли на ровном месте.
Впрочем, тема для холивара.
← →
Ega23 © (2012-02-29 17:39) [8]
> Подскажите пожалуйста как настраивать кодировку. Я сейчас
> сажаю данные с кириллицей, а они не читабельны в FoxPro.
> Нужно прописывать в строке соединения или при передаче
> параметров менять кодировку?
И Collation настраивать.
← →
Delphi2007 (2012-02-29 17:40) [9]
> ИМХО, надо ноги за такие наименования отстреливать.
> Костыли на ровном месте.
> Впрочем, тема для холивара.
У нас нет выбора, нужно отправлять данные в ведомство где требуют именно в таком формате.
← →
Anatoly Podgoretsky © (2012-02-29 17:43) [10]
> Delphi2007 (29.02.12 17:38) [6]
Неизвестна ни версия СУБД, ни провайдер, ни версия "dbf"
Ничего неизвестно
← →
Anatoly Podgoretsky © (2012-02-29 17:44) [11]
> У нас нет выбора, нужно отправлять данные в ведомство где
> требуют именно в таком формате.
Тогда вопроса нет, нельзя, так нельзя
← →
Delphi2007 (2012-02-29 17:50) [12]
> Неизвестна ни версия СУБД, ни провайдер, ни версия "dbf"
> Ничего неизвестно
dBase IV.
Строка соединения: Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;
← →
Smile (2012-02-29 17:55) [13]Может кто-нить подскажет какой сейчас год на дворе?
Заранее спасибо:)
← →
Anatoly Podgoretsky © (2012-02-29 17:58) [14]> Delphi2007 (29.02.2012 17:50:12) [12]
В данной СУБД нет кодировки для dBase IV, она машинная
← →
sniknik © (2012-02-29 18:05) [15]надо поставить OEM в Jet (в реестре), + если используется "внешний" BDE (установлен и настроено на него) то в нем у драйвера поставить "без кодировки" ansi вроде бы.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.067 c