Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание таблицы FoxPro через SQL / 12 сообщений из 12, страница 1 из 1
27.03.2003, 15:46
    #32128292
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Помогите пожалуйста, как создать таблицу *.DBF из Visual Basica через ADO, используя SQL... Почему то CREATE TABLE не работает... Таблица не создается...
Заранее спасибо...
...
Рейтинг: 0 / 0
27.03.2003, 16:25
    #32128355
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Могу поспорить, что в CREATE TABLE используется ситаксис, который фокс не понимает. Можно строку команду полностью?
...
Рейтинг: 0 / 0
27.03.2003, 17:14
    #32128429
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
пример на vbs:
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim conn, path
path =  "c:\" 
Set conn = CreateObject( "ADODB.Connection" )
conn.Open ( "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=" & path &  ";User ID=Admin;Password=;Extended Properties=dBase IV" )
conn.Execute  "create table dbftable (ID_N int,dt date,info char(100 ))"
conn.Close
Set conn = Nothing
...
Рейтинг: 0 / 0
28.03.2003, 10:58
    #32128805
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Попробуй так:

Код: plaintext
create table dbftable (ID_N N,dt D,info c( 100 ))
...
Рейтинг: 0 / 0
28.03.2003, 11:02
    #32128813
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
И строку соединения попробуй поменять на
Provider=VFPOLEDB.1;Data Source=<path>;Password="";Collating Sequence=MACHINE

Правда все это будет работать, если у тебя установлен MDAC
...
Рейтинг: 0 / 0
28.03.2003, 13:23
    #32128992
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Вот тот код, который использую я:
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.Open "Driver=Microsoft Visual FoxPro Driver;" & _
"SourceType=DBF;" & _
"BackgroundFetch=Yes;Exclusive=No;Null=No;" & _
"SourceDB=C:\TESTBASE"
cnn.Execute "CREATE TABLE tbldbf (p1 INTEGER, sum1 f, sum2 f, sum3 f, _
k CHAR(6))"
cnn.close
Запрос вроде бы составлен нормально...
...
Рейтинг: 0 / 0
28.03.2003, 13:51
    #32129024
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Вся проблема в том, что ты не правильно указываешь типы полей. Если я не ошибаюсь Microsoft Visual FoxPro ODBC Driver поля следующих типов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
N - Число с десятичными знаками
C - Строка
D - Дата
M - Мемо
F - C плавающей точкой
L - Логическое
G - General
и т.д.
Подробности смотри в справке по VFP драйверу (Vfpdrv.hlp - лежит в System32 в XP). 
...
Рейтинг: 0 / 0
28.03.2003, 13:53
    #32129026
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
2Гость

Кто ж ставит переносы строк в нутри литерала???
Либо так
cnn.Execute "CREATE TABLE tbldbf (p1 INTEGER, sum1 f, sum2 f, sum3 f, k CHAR(6))"
либо так
cnn.Execute "CREATE TABLE tbldbf (p1 INTEGER, sum1 f, sum2 f, sum3 f, " & _
"k CHAR(6))"
должно работать
...
Рейтинг: 0 / 0
29.03.2003, 13:05
    #32129531
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
...
Рейтинг: 0 / 0
31.03.2003, 09:55
    #32129859
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Тогда вопрос немного подругому поставлю: а должен ли на диске, в каталоге, угазанном в пути строки Connection появиться даблица *.dbf сразу после выполнения CREATE TABLE?
...
Рейтинг: 0 / 0
31.03.2003, 10:46
    #32129914
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
У меня появляются сразу.
Код: plaintext
1.
2.
3.
*!* подключение к free tables фокса через odbc в том же рабочем каталоге
h=SQLCONNECT() 
?SQLEXEC(h, "CREATE TABLE tbldbf (p1 INTEGER, sum1 f, sum2 f, sum3 f, k CHAR(6 ))")  &&  1 
?FILE( "tbldbf.dbf" ) && .T.
...
Рейтинг: 0 / 0
31.03.2003, 14:07
    #32130153
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблицы FoxPro через SQL
Большое спасибо за помощь... Сработала отлично такая строчка:
"CREATE TABLE 'C:\TESTBASE\tbldbf' (p1 N, sum1 F, sum2 F, sum3 F, k C(6))"
После указания полного пути в названии таблицы. Таблица была создана сразу после выполнения этого запроса.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание таблицы FoxPro через SQL / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]