Форум: "Базы";
Текущий архив: 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.008 c