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

Вниз

Вопрос создания таблицы в access?   Найти похожие ветки 

 
S   (2003-01-05 12:42) [0]

Я так создаю таблицу:

a:="CREATE TABLE Data_OUT ("+
"[ID] Autoincrement,"+
"[Version] int NULL,"+
"[Date] date NULL,"+
"[Number] text (10) NULL,"+
"[HighPriority] logical,"+
"[Payer] text NULL,"+
"[InArc] logical NOT NULL,"+
"CONSTRAINT [Index1] PRIMARY KEY ([ID])"+
")";


База нормально создается, но при подключении к ней метод open длится очень долго (сколько не знаю терпегние лопается). В чем проблема и второй вопрос при создании поля типа text (string) я хочу, чтобы поле могло бы быть пустым?


 
sniknik   (2003-01-05 12:52) [1]

Вполне нормально и создается и открывается.

Как доступ осуществляется?

>поле могло бы быть пустым?
NULL и есть возможность не заносить значение в поле.


 
S   (2003-01-05 13:14) [2]

Когда я ставлю поле Null, то оно становиться не обязательным. Но не пустым.
При создании я открываю acess и вижу таблицу, руками могу доваблять, но программно нет.


 
sniknik   (2003-01-05 13:34) [3]

что по твоему "не пустым"?

по моему если туда не записать значение оно будет Null, без значения т.е. пустее всех пустых. :-))

руками это как? с помощью лопаты данные добавляеш и кувалдой утрамбовываеш?
а програмно INSERT INTO к примеру не срабатывает? но что говорит как это проявляется?

разьясни ситуацию. просто сосредоточся и представь, никто кроме тебя твоего комьпьютера не видит, и описывай все.


 
S   (2003-01-05 13:59) [4]

Я говорил следующее:
при выполнении таблица создается. Я ее вижу залезая руками в базу данных. Открываю эту таблицу и смотрю. Пустая. Потоя беру и руками добовояю запись. И опс, она записалась.
Беру программу делаю insert и вижу нельзя совершать эту операцию на закрытой базе данных. Беру таблицу переименовываю. Создаю руками через констркуктор такуюже базу. Запускаю программу и добавление, редактирование пожалуста.
Смотрю созданную базу. Все сходиться.
Делаю так после метода open ставлю if query.active then S.m.() else
S.m. ();
Так вот этот s.m. не выполняется до него программа не доходит. А все выполняет метод open. Отсуда вижу глюк метода open. Но кошда таблица создана руками все отлично. О!!!!!



 
sniknik   (2003-01-05 17:53) [5]

insert и open несовместимы, или ExecSQL; либо (лутше) использовать ADOCommand и Execute. (нет возрашаемого датасета)

p.s. это не подробно (S © (05.01.03 13:59)) это отмазка.


 
S   (2003-01-09 11:41) [6]

Дело так. Пишу селект на поиск данных. Так как таблицы нет, то соответственно выскакивает ошибка. В "exception" пишу создать таблицу, через
a:= см. выше.
ADOCommand.CommandText:=a;
ADOCommand.Execute;
После этого выхожу из программы лезу в базу и выжу созданую мною таблицу. Руками могу добавлять записи. Выходу из базы.
Запускаю программу. В программе делаю селект по вновь созданной базе. Записей нет. Делаю попытку добавить запись. Выскакивает ошибка.
Выхожу из программы. Лезу руками переименовываю созданнуб таблицу. И переименовываю таблицу созданную руками. После этого захожу в программу и делаю попытку добавить запись. И, о, чудо! Все работает.
Лезу в базу и сравниваю таблицы. Все поля совпадают (Длина, типы), но тип boolean (logikal) выглядят по разному.
Так вот, у меня вопрос в чем проблема создания?



 
sniknik   (2003-01-09 12:25) [7]

бред какойто.
в эксепшен? не лутше проверить вначале есть таблица или нет?

теперь как делаю я.
запускаю прогу (свою TestMdb назывыется можеш скачать и проверить, не голословные утверждения, в кладовке лежит)

выполняю запрос
CREATE TABLE Data_OUT
([ID] Autoincrement, [Version] int NULL, [Date] date NULL,
[Number] text (10) NULL, [HighPriority] logical, [Payer] text NULL, [InArc] logical NOT NULL,
CONSTRAINT [Index1] PRIMARY KEY ([ID]))

(твой) вижу есть таблица!
делаю тут же
SELECT * FROM Data_OUT
вижу таблица пустая
выполняю
INSERT INTO Data_OUT ([Date],HighPriority,InArc,[Number],Payer,[Version])
VALUES (#12/12/2003# ,True ,False ,1 ,"Test" , 8)

опять делаю
SELECT * FROM Data_OUT
вижу запись добавилась.

и никаких чудес.
вывод, у тебя в проге глюки. (вообше странный подход начинать с поиска по несуществующей таблице)





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

Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-86839
error 2k
2003-01-18 23:32
2003.01.27
Пауза в программе


1-86736
члм
2003-01-17 12:00
2003.01.27
нужна хелпа


1-86870
Master(self)
2003-01-20 06:39
2003.01.27
Формат архивов


4-87206
dkDimon
2002-12-12 18:46
2003.01.27
Не знаю как обозвать тему


4-87194
Bukerman
2002-12-11 18:22
2003.01.27
как получить handle уже запущенного процесса?





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