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

Вниз

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

 
©   (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 и есть возможность не заносить значение в поле.


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

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


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

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

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

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

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


 
©   (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)) это отмазка.


 
©   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
1-86853
dron655
2003-01-19 20:27
2003.01.27
StringGrid


1-86818
Inan61
2003-01-18 15:42
2003.01.27
Как из 906090 сделать 90-60-90 ?


3-86685
Nil
2003-01-08 12:07
2003.01.27
Помогите пожалуста правильно написать SQL-запрос !


6-87000
RGG
2002-11-27 13:29
2003.01.27
Помогите примером


7-87151
Zolen
2002-11-13 18:10
2003.01.27
Открытие CD Rom на удаленном компе