Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.48 MB
Время: 0.058 c
6-1266238609
zensan
2010-02-15 15:56
2013.03.22
TWebBrowser with FTP site


15-1346255072
Artem
2012-08-29 19:44
2013.03.22
MessageDlg в Visual C++


2-1342945485
Ярослав
2012-07-22 12:24
2013.03.22
Склейка формы


15-1339024066
id_tech
2012-06-07 03:07
2013.03.22
где Копир?


15-1352992480
Dennis I. Komarov
2012-11-15 19:14
2013.03.22
DNS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский