Главная страница
    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.087 c
15-1329251402
Юрий
2012-02-15 00:30
2013.03.22
С днем рождения ! 15 февраля 2012 среда


15-1352799802
Handler
2012-11-13 13:43
2013.03.22
названия пунктов меню


15-1331627201
advise
2012-03-13 12:26
2013.03.22
Подскажите на каих ресурсах можно найти программиста Delphi


2-1330269660
Незнающий усталости
2012-02-26 19:21
2013.03.22
Как задать фокус ячейки?


2-1337119413
TStas
2012-05-16 02:03
2013.03.22
Высота строк в RichEdit е





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский