Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Многострочный запрос к DBF по ADO / 7 сообщений из 7, страница 1 из 1
08.09.2008, 18:39
    #35528464
a.ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Как записать данные в DBF через ADO посредством многострочного запроса? Пишет ошибку "Пропущен символ (;) в конце инструкции SQL."Ставлю точку с запятой пишет другую ошибку: "Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'"

Текст запроса такой:
Insert into cashTax Values('2', '1', '1', '1423', '1', '1', '1', '18', '18 %', '1,53', '1,53')
Insert into cashSail Values('2', '1', '1', '1423', '1', '05.09.2008', '1608', '14', 'NOSIZE', '10', '1', '10', '10', '10', '0', '1', '1', '1', '1', '0', '0', '0')

По одной строке все нормально записывает
...
Рейтинг: 0 / 0
08.09.2008, 20:21
    #35528561
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Нельзя.
Можно - открыть транзакцию (в зависимости от конкретного файл-сервера), в цикле насандалить инертов, закоммитить транзакцию.
...
Рейтинг: 0 / 0
12.09.2008, 11:13
    #35535912
a.ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Че то не работают транзакции. Может дело в провайдере? В коде используется "Microsoft.Jet.OLEDB.4.0"
...
Рейтинг: 0 / 0
12.09.2008, 11:29
    #35535957
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Я не помню. Попробуйте еще попробовать Microsoft OLE DB Provider for Visual FoxPro 9.0
...
Рейтинг: 0 / 0
12.09.2008, 12:26
    #35536156
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Дейтствительно, у меня тоже не получается отработать по адо даже с рекордсетом.
Может, правда дело в джете...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
     Application.StartupPath + ";Extended Properties=dBase III;";

ADODB.Connection connection = new ADODB.ConnectionClass();
connection.Open(connectionString,  null, null,  0 );
connection.CursorLocation = ADODB.CursorLocationEnum.adUseServer;
ADODB.Recordset rs = new ADODB.RecordsetClass();
rs.Open("Tbl.dbf", connection, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic,  0 );

connection.BeginTrans();
try
{
    for (int i =  0 ; i <  10 ; i++)
    {
        // Генерируем ошибку
        if (i ==  5 )
            throw new DivideByZeroException(); ;

        rs.AddNew("QQQ", i);
        rs.Update("fff", i);
    }

    connection.CommitTrans();

}
catch
{
    connection.RollbackTrans();
    rs.CancelBatch(ADODB.AffectEnum.adAffectCurrent);
}
connection.Close();
...
Рейтинг: 0 / 0
12.09.2008, 15:15
    #35536678
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Нарыл кое-что вкусное: Transact Updates

Код: plaintext
1.
"Provider=MSDASQL/SQLServer ODBC;Driver={Microsoft Visual FoxPro Driver};" +
"SourceType=DBF;SourceDB=C:\Temp;InternetTimeout=300000;Transact Updates=True";
...
Рейтинг: 0 / 0
12.09.2008, 16:39
    #35536891
a.ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многострочный запрос к DBF по ADO
Че то у меня такого поставщика найти не может ((( Что то ставить надо?
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Многострочный запрос к DBF по ADO / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]