Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Вопрос для специалистов в области SQL для   Найти похожие ветки 

 
LevVL   (2002-06-24 16:20) [0]

Здравствуйте, уважаемые коллеги. Спасибо за интерес к моей проблеме.
Необходимо создать таблицу SQL-запросом, в которой для некоторых полей задаются значения по умолчанию.
Для доступа к данным использую компоненты ADO.
Делаю следующее:
create table TestTable (Code counter, Name string default "Иванов",Age integer default 30)
Так вот, непосредственно в Access-е такой запрос не работает. Если его выполнять программно, используя в TADOConnection Microsoft.Jet.OLEDB - провайдер, то он работает, но этот провайдер глючит, зараза, в других местах! И я использую более-менее родной для Access-а провайдер for ODBC drivers (MSDASQL), но при выполнении вышеозначенного запроса этот подлец ругается точно также, как в Accesse:
"Ошибка синтаксиса в инструкции CREATE TABLE" !!!
Знает кто-нибудь, что с этим делать, а? С меня бутылка пива - почтой...


 
sniknik ©   (2002-06-24 17:15) [1]

В каких местах TADOConnection Microsoft.Jet.OLEDB глючит? А то я с ним довольно давно работаю и у меня стойкое заблуждение о том что он нормально пашет во всех местах.
P.S.
Твой "родной" ODBC не понимает слов типа default.


 
LevVL   (2002-06-24 17:50) [2]

Ну ладно, ну хорошо, если уж он такой замечательный, то вот вопрос на засыпку: допустим, есть 2 таблицы - Test1 и Test2.
Вот первая:

create table Test1 (code1 counter not null primary key, name1 string)

А вторую мне нужно создать связанной с первой по ключу, таким образом, чтобы записи во второй каскадно удалялись и обновлялись.
Следуя строгим стандартам языка SQL, делаю следующее:

create table Test2 (code2 integer not null,name2 string,foreign key (code2) references Test1(code1), update of Test1 cascades)

Но этот дьявол на такую мою хрень выдаёт следующее:
"Ошибка синтаксиса при определении поля" !!!
Что мне с этим делать, а? Я уже на всё согласный - пусть будет хотя бы и Jet-провайдер!


 
LevVL   (2002-06-24 18:05) [3]

Приношу всем свои извинения - ошибка синтаксиса при создании второй таблицы, ибо нужно с этим Jet-провайдером писать так:

create table test2 (code2 integer not null ,name2 string,foreign key (code2) references Test1(code1) on update cascade on delete cascade)


 
sniknik ©   (2002-06-24 18:47) [4]

Ну вот все же работает и именно через Jet. А через ODBC такое не воспринимается.
?? Говорил что глючит и сам же даеш рабочие под Jet-том примеры.

Роднее чем Jet для Access-а не придумаеш если уж сам Access через него работает.
в первом случае через ODBC нужно убрать после запятой update и дальше а второй полностью рабочий.



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-47206
koty
2002-06-19 02:41
2002.07.15
Управление доступом.


4-47904
SLY-YO
2002-05-11 14:19
2002.07.15
Панель как в MS Office или в Promt98


1-47325
Poirot
2002-07-01 11:42
2002.07.15
Картинки у свойст c редактором Combo-Box в Object Inspector


6-47645
Ghost.
2002-05-06 12:01
2002.07.15
В очередной раз попытаюсь получить ответ


14-47773
Erlan
2002-06-13 09:33
2002.07.15
Беда просто.