Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

Вопрос для специалистов в области 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.152 c
1-47533
dlK
2002-07-04 16:11
2002.07.15
TApplicationService и TTimer, парюсь 2-ой день. =((


3-47145
dr_neo
2002-06-21 23:04
2002.07.15
Поиск по Access


1-47314
SDv-503
2002-07-01 00:17
2002.07.15
Как программно нажать на .... (+)


3-47186
Link
2002-06-19 11:37
2002.07.15
Запрос


4-47911
KiberArt
2002-05-11 10:52
2002.07.15
The KeyboardProc hook procedure is an application-defined





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