PLS Помогите с АДО
От: voland  
Дата: 07.05.02 09:03
Оценка:
Помогите разобраться.
Программа работает через адо с БД парадокс.
конект к базе проходит отлично
но любой запрос пишется ошибка.

строка конекта "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Paradox Files;UID=;SourceDB=C:\temp\tt_congruence\PBASE\outbase.db;SourceType=DB;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"

имя драйвера Paradox Files — я написал сам, когда добавлял этот драйвер (в любомой ос он есть) через Control Panel -> ODOBC Data Sources

теперь пример запроса

if mainform.ado20.Active then mainform.ado20.Active:=False;
mainform.ado20.SQL.Clear;
mainform.ado20.SQL.Add('select * from "Outbase.db" ;');
mainform.ado20.ExecSQL ;

Выдает ошибку:
[Microsoft][ODBC Paradox Driver] The Microsoft Jet database engine could not find the object 'Outbase.db'. Make sure the object exists and that you spell its name and the path name correctly

В чем ошибка?
на что следует обратить внимание?

Заранее благодарю,
Виктор
Re: PLS Помогите с АДО
От: димс  
Дата: 07.05.02 09:56
Оценка:
Здравствуйте voland, Вы писали:

V>Помогите разобраться.

V>Программа работает через адо с БД парадокс.
V>конект к базе проходит отлично
V>но любой запрос пишется ошибка.
...

попробуй строку коннекта "DSN=TEST;UID=;PWD="
где TEST через Control Panel -> ODOBC Data Sources,
а также mainform.ado20.SQL.Add('select * from Outbase;');
Re[2]: PLS Помогите с АДО
От: voland  
Дата: 07.05.02 10:11
Оценка:
Здравствуйте димс, Вы писали:

Д>попробуй строку коннекта "DSN=TEST;UID=;PWD="

Д>где TEST через Control Panel -> ODOBC Data Sources,
Д>а также mainform.ado20.SQL.Add('select * from Outbase;');

Попробывал все безуспешно
та жа самая ошибка

Попробуйте у себя создать любую базу ПАРАДОКС 7.0 и сделать обращение к ней через АДО
буду признателен за ваш пример-проект
Re[3]: PLS Помогите с АДО
От: димс  
Дата: 07.05.02 10:30
Оценка:
Здравствуйте voland, Вы писали:

V>Здравствуйте димс, Вы писали:


V>Попробывал все безуспешно

V>та жа самая ошибка

ну а такая строка:

"DRIVER={Microsoft Paradox Driver (*.db)};"
"DBQ=test.DB;"
"DefaultDir=;"
"UID=admin;PWD=;"
"Mode=Read;");
Re[4]: PLS Помогите с АДО
От: voland  
Дата: 07.05.02 10:45
Оценка:
пробывал по разному, по всякому, все одно и тоже

в том числе и с connection string
Provider=MSDASQL.1;DSN=TEST;UID=admin;PWD=;

mainform.ado20.SQL.Add('select * from "c:\temp\outbase.db" ;');


Может попробуете создать любую базу PARADOX 7.0
и написать маленький демео проект к ней?
буду признателен если вышлете на мыло.
Re[5]: PLS Помогите с АДО
От: voland  
Дата: 08.05.02 02:38
Оценка:
я изменил connection string на

ConnectionString: Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=TEST;UID=;SourceDB=C:\temp\tt_congruence\PBASE;SourceType=DB;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=C:\temp\tt_congruence\PBASE

и mainform.ado20.SQL.Add('select * from Outbase');

это работает замечательно.

а вот 'DELETE * FROM outbase'
не работает пишет
[Microsoft][ODBC Paradox Driver] Could not delete from specified tables

ведь нужно не только SELECT
а DELETE
UPDATE
INSERT
как с ними быть?????
Re[6]: PLS Помогите с АДО
От: Алекс Россия http://wise-orm.com
Дата: 08.05.02 03:34
Оценка:
Здравствуйте voland, Вы писали:


V> я изменил connection string на

V>
V>ConnectionString: Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=TEST;UID=;SourceDB=C:\temp\tt_congruence\PBASE;SourceType=DB;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=C:\temp\tt_congruence\PBASE
V>
V>и mainform.ado20.SQL.Add('select * from Outbase');
V>
V>это работает замечательно.
V>
V>а вот 'DELETE * FROM outbase'
V>не работает пишет
V>[Microsoft][ODBC Paradox Driver] Could not delete from specified tables
V>
V>ведь нужно не только SELECT
V>а DELETE
V> UPDATE
V> INSERT
V>как с ними быть?????
V>

Надо писать DELETE FROM outbase. Без *.
Re[7]: PLS Помогите с АДО
От: voland  
Дата: 08.05.02 04:08
Оценка:
Здравствуйте Алекс, Вы писали:

А>Надо писать DELETE FROM outbase. Без *.


это конечено опечатка была
текст селдующий

ConnectionString:
Driver={Microsoft Paradox Driver (*.db )};DBQ=C:\temp\tt_congruence\PBASE;DriverID=538;Exclusive=No;

запрос

DELETE FROM outbase

Ошибка та же: [Microsoft][ODBC Paradox Driver] Could not delete from specified tables

Что делаТЬ???????
Re[8]: PLS Помогите с АДО
От: voland  
Дата: 08.05.02 06:20
Оценка:
Проблема частично решена.
дело вот в чем что на чтение проблем нет,
а дальше ограничения, вот что об этом говорится в MSDN:
Для того, чтобы Вы имели возможность производить действия по добавлению, удалению записей или редактированию данных в таблице, таблица должна иметь первичный ключ.
Первичный ключ должен быть определен для первых 'n' полей таблицы.
Вы не можете создавать для таблицы индексы, если для нее не определен первичный ключ.
Первый создаваемый для таблицы уникальный индекс будет создан как первичный ключ.
Первичный ключ может быть создан для таблицы только в том случае, если в ней нет ни одной записи.
Действия по добавлению или удаления полей в таблице должны быть произведены до того, как для нее создан первичный ключ.

На для создания первичного для таблицы expTable ключа
CREATE INDEX ExpTable ON ExpTable (InternalID) WITH PRIMARY

как я создал ключ
проблема тут же исчезла
Re: PLS Помогите с АДО
От: Alex Россия  
Дата: 09.10.02 09:45
Оценка:
Здравствуйте voland, Вы писали:

Извините за вторжение...
Увидел сообщение в форуме за 07.05.02 про ADO и парадокс 7.
Вы говорили, что у вас с чтением проблем нет.

А у меня есть. Не поможете?
Я читаю БД парадокс 7 через адо, а там вместо русского текста
одни иероглифы. Что я делаю не так?
Можть надо отдельно драйвер для парадокса седьмого дыбать? А?

Не подскажете?
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.