SQL и CREATETABLE

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

SQL и CREATETABLE

Сообщение whs » 09.10.2015 10:17:25

Я что-то, не понял, как правильно создать таблицу например в базе MSSQL. Следующий код создает таблицу но после выхода из приложения в базе её нету.
Код: Выделить всё
SqlConnBuilderForm.SQLQuery2.SQL.Clear;
SqlConnBuilderForm.SQLQuery2.SQL.Text:=EdtInSQL.text;
SqlConnBuilderForm.SQLQuery2.ExecSQL;         

И что то...не идёт.
Аватара пользователя
whs
новенький
 
Сообщения: 28
Зарегистрирован: 03.04.2010 18:07:44

Re: SQL и CREATETABLE

Сообщение Deimos » 09.10.2015 12:15:19

whs писал(а):SqlConnBuilderForm.SQLQuery2.SQL.Text:=EdtInSQL.text;


EdtInSQL.text какую строку содержит?

Для MySQL (не думаю, что в MS есть глобальные отличия)

Код: Выделить всё
query.SQL.Add('CREATE TABLE if not exists user(user_id integer NOT NULL AUTO_INCREMENT, user_name text (50), PRIMARY KEY(user_id)) ENGINE=MyISAM DEFAULT CHARSET=utf8;)


какие компоненты используешь? Commit есть?
Deimos
постоялец
 
Сообщения: 169
Зарегистрирован: 17.01.2010 00:31:30

Re: SQL и CREATETABLE

Сообщение whs » 09.10.2015 12:21:14

Deimos писал(а):EdtInSQL.text какую строку содержит?

Содержит самое простое
Код: Выделить всё
CREATE TABLE NeWTable (date datetime)


Код: Выделить всё
query.SQL.Add('CREATE TABLE if not exists user(user_id integer NOT NULL AUTO_INCREMENT, user_name text (50), PRIMARY KEY(user_id)) ENGINE=MyISAM DEFAULT CHARSET=utf8;)

какие компоненты используешь? Commit есть?

Стандартные компоненты ODBCConnect, SQLQuery, SQLTransaction, MSSQLConnection. Наличие Commit не влияет на результат.
Аватара пользователя
whs
новенький
 
Сообщения: 28
Зарегистрирован: 03.04.2010 18:07:44

Re: SQL и CREATETABLE

Сообщение stanilar » 09.10.2015 15:35:52

Некоторые компоненты требуют для такого рода действий не Query, а что-то типа SQLScript или SQLCommand.

P/S/ За все время работы так и не удосужился посмотреть реализацию, чтоб понять почему так происходит.
stanilar
постоялец
 
Сообщения: 289
Зарегистрирован: 09.03.2010 19:09:02

Re: SQL и CREATETABLE

Сообщение DYUMON » 09.10.2015 16:37:27

У тебя там при старте программы никакие транзакции не открываются случаем которые потом по умолчанию отроликаваются(roolback)?
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54

Re: SQL и CREATETABLE

Сообщение whs » 09.10.2015 17:08:05

DYUMON писал(а):У тебя там при старте программы никакие транзакции не открываются случаем которые потом по умолчанию отроликаваются(roolback)?

Может, открываются, но вот с чего бы им откатываться. Я не вижу причин.

P.S Проверил, да действительно проблема была в транзакциях. Выставил коммит по дефолту и прописал к какой базе ему цепляться, и вроде заработало. Спасибо тебе, я осознал на сколько это была глупая ошибка.
Последний раз редактировалось whs 09.10.2015 17:25:37, всего редактировалось 1 раз.
Аватара пользователя
whs
новенький
 
Сообщения: 28
Зарегистрирован: 03.04.2010 18:07:44

Re: SQL и CREATETABLE

Сообщение DYUMON » 09.10.2015 17:11:51

там по умолчанию вообще стоит rollback
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru