Имя: Пароль:
1C
1C 7.7
v7: ADODB работа с .MDF
,
0 areaho0ray
 
12.12.13
01:35
Здравствуйте! Подскажите пожалуйста, стоит задача, залить инфой mdf базу  
с двумя таблицами. Есть поле 'Money' - тип числовой, двойное с плавающей точкой. При попытке записать значение в это поле (INSERT INTO DistrSalesReport (Money) VALUES ('1,2')) дается ошибка
Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса в инструкции INSERT INTO.
Но если поменять имя этого поля на, к примеру, Bablo, то все проходит успешно. Может быть я где то косякнул?

Процедура Сформировать()
    
    Аксесс= СоздатьОбъект("ADODB.CONNECTION");
    Попытка
        СтрокаПодключения="Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\Exech\PPR\PRR.mdb;Uid=Admin;Pwd=";
        Аксесс.Open(СтрокаПодключения);
    Исключение
        Возврат;
                Сообщить(ОписаниеОшибки());
    КонецПопытки;
    
    Команда = СоздатьОбъект("ADODB.Command");
    
    Команда.ActiveConnection=Аксесс;
    
    ТекстЗапроса= Инсерт; //INSERT INTO DistrSalesReport (Money) VALUES ('1,2')
    Команда.CommandText=ТекстЗапроса;
        Попытка
         Команда.Execute();  
    Исключение
             Сообщить(ОписаниеОшибки());
        КонецПопытки;
КонецПроцедуры
1 МихаилМ
 
12.12.13
01:39
INSERT INTO DistrSalesReport ([Money])
2 МихаилМ
 
12.12.13
01:41
коли адо то используйте культурно его методы втавки, а не как другие животные безмозглые
3 areaho0ray
 
12.12.13
01:47
(2) Спасибо!
Но вообще хотелось бы узнать, почему (Bablo) и ([Money]) работают, а просто (Money) нет ? :)
4 МихаилМ
 
12.12.13
01:48
+(1)
Money - зарезервированное слово, тип данных.
аналог CURRENCY в SQL.
5 areaho0ray
 
12.12.13
01:54
Спасибо, теперь все понятно :) Я догадывался, но не хотел верить в меркантильность SQL :)
6 ЧеловекДуши
 
12.12.13
09:16
(0) mdf  - Это расширения файла SQL...
Это всего лишь пакетный файл... какой либо БД :)
7 ДенисЧ
 
12.12.13
09:28
(6) "mdf - это пакетный файл".
Надо бы записать куда в цитатники...
8 ЧеловекДуши
 
12.12.13
09:35
(7) Ну дак что это?
Когда вся БД с индексами и таблицами помещено в один файл? :)
9 ЧеловекДуши
 
12.12.13
09:36
+(7) Поправь меня, уважаемый. :)
10 ДенисЧ
 
12.12.13
09:49
(8) Пакетный файл - это файл с командами операционной системе....
11 spectre1978
 
12.12.13
09:49
вообще если верить коду в (0)

Dbq=D:\Exech\PPR\PRR.mdb

то речь, как бы, об файле MS Access (MDB). Причем работают с ним левой пяткой - через провайдера ODBC, вместо того чтобы использовать родного провайдера Jet 4.

а MDF - это файл данных MS SQL Server.