Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
kamennov
Зарегистрирован: 16.05.2010 Сообщения: 7
|
Добавлено: Ср Май 19, 2010 10:10 am Заголовок сообщения: Создание таблицы с переменным типом данных |
|
|
Доброго времени суток, коллеги!
Пытаюсь создать таблицу, где тип данных объявлен не явно, то есть пытаюсь подставить переменную.
В случае с заданием имени столбца все проходит гладко, однако когда я подставляю переменную вместо типа данных столбца, то компилятор в строчке Server hodbc Create Table s_1 (Field(3) Type(3)) выдает ошибку "missing '=' assignment to Type"
Fetch Rec 1 From temp
s_1 = temp.col2
i = 1
While i <= n
Fetch Rec i From temp2
Field(i)=temp2.col2
i = i + 1
Wend
t = 1
While t <= n
Fetch Rec t From temp2
Type(t)=temp2.col3
t = t + 1
Wend
call create1
end sub
sub create1
hodbc = server_connect("ODBC", "DSN=База данных MS Access")
Server hodbc Create Table s_1 (Field(3) Type(3))
В чем может быть проблема? |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Ср Май 19, 2010 11:24 am Заголовок сообщения: |
|
|
Пользуйтесь командой:
hstmt = Server_Execute(hdbc, "CREATE TABLE ...")
там второй параметр строка - создайте предварительно как вам нужно и отправьте серверу на исполнение. |
|
Вернуться к началу |
|
|
kamennov
Зарегистрирован: 16.05.2010 Сообщения: 7
|
Добавлено: Ср Май 19, 2010 12:42 pm Заголовок сообщения: |
|
|
Андрей Могильный писал(а): |
Пользуйтесь командой:
hstmt = Server_Execute(hdbc, "CREATE TABLE ...")
там второй параметр строка - создайте предварительно как вам нужно и отправьте серверу на исполнение. |
Спасибо за ответ..
Этот вариант не подходит потому, что тут явно задается и название таблицы и название поля и тип данных поля.
В область этой команды "CREATE TABLE ..." не получается вставить переменные, причем ни для названия таблицы, ни для чего-либо.
Если ставлю переменную S_1, в качестве названия таблицы, то на сервере создается таблица с названием S_1, а не со значением переменной. |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Ср Май 19, 2010 2:32 pm Заголовок сообщения: |
|
|
Вы в переменную типа строка сконкатенируйте все что вам надо и подавайте!
hstmt = Server_Execute(hdbc, "CREATE TABLE "+S1+" поля "+Str$(fieldtype)) |
|
Вернуться к началу |
|
|
kamennov
Зарегистрирован: 16.05.2010 Сообщения: 7
|
Добавлено: Ср Май 19, 2010 3:05 pm Заголовок сообщения: |
|
|
Андрей Могильный писал(а): |
Вы в переменную типа строка сконкатенируйте все что вам надо и подавайте!
hstmt = Server_Execute(hdbc, "CREATE TABLE "+S1+" поля "+Str$(fieldtype)) |
Большое спасибо))
Помогло
hstmt = Server_Execute(hodbc, "CREATE TABLE "+S_1+" ("+Field(3)+" "+Type(3)+")")
Именно то чего я и добивался... |
|
Вернуться к началу |
|
|
|