Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.073 c
8-1229064406
ezhik
2008-12-12 09:46
2013.03.22
получение каркасного изображения тел в ортогональной и центрально


2-1330552340
misha
2012-03-01 01:52
2013.03.22
Как спроектировать класс


2-1345045236
начинающий7
2012-08-15 19:40
2013.03.22
TreeView


15-1338529424
alexdn
2012-06-01 09:43
2013.03.22
Куда выложить


15-1336640074
jacksotnik
2012-05-10 12:54
2013.03.22
Можно ли в DesignMode открыть закрыть модуль зная его имя?