Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Вниз

Как создать запросом таблицу DBF    Найти похожие ветки 

 
Sergey_   (2003-03-26 09:35) [0]

Уважаемые ALL, помогите создать командой SQL таблицу дбф с полями типов numeric , float
пишу AdoCommand.CommandText := " CREATE TABLE "+tabname+" ( DATETI CHAR(19), C_ANNO NUMERIC(12,2) )";
получаю : "Ошибка синтаксиса в инструкции CREATE TABLE "

если пишу " CREATE TABLE "+tabname+" ( DATETI CHAR(19), C_ANNO CHAR(12) )" всё хорошо


 
shoo   (2003-03-26 09:44) [1]

Обязательно запросом нужно?
А испытанным способом не устраивает?

var mydbf: TTable;
...
with mydbf do
begin
Close;
DatabaseName := "C:\MyPath";
TableName := tabname;
TableType := ttFoxPro; // или другой какой-нибудь
with FieldDefs do
begin
Clear;
Add("dateti", fString, 19, False);
Add("c_anno", ftFloat, 0, False);
end;
CreateTable;
Free;
end;


 
Sergey_   (2003-03-26 09:57) [2]

Спасибо, просто я привык на MS SQL всё запросами делать
а тут дбф , но почему команда не работает ?


 
Соловьев   (2003-03-26 10:00) [3]

Через что выполняешь запрос?


 
Соловьев   (2003-03-26 10:09) [4]

Недасмотрел что ADO:
AdoCommand.CommandText := " CREATE TABLE "+tabname+" ( DATETI CHAR(19), C_ANNO NUMERIC [12,2] )";


 
Sergey_   (2003-03-26 10:19) [5]

Не и так [] не хочет а где ты квадратные скобки в документации увидел ?


 
Соловьев   (2003-03-26 10:22) [6]

LocalSQL:
NUMERIC[(s[, p])] Floating point numbers. Scale and precision are each optional. If precision is specified, scale must also be.
FLOAT(s, p) Floating point numbers. Scale and precision are each optional. If precision is specified, scale must also be.


 
Соловьев   (2003-03-26 10:25) [7]

[] - это необязательный параметр... прогнал я ....
Наверное надо:
AdoCommand.CommandText := " CREATE TABLE "+tabname+" ( DATETI CHAR(19), C_ANNO Float(12,2) )";


 
Sergey_   (2003-03-26 10:36) [8]

та же фигня может другой драйвер использовать ? я использую
MS dBase driver


 
sniknik   (2003-03-26 11:56) [9]

скорее всего пройдет
AdoCommand.CommandText := " CREATE TABLE "+tabname+" ( DATETI CHAR(19), C_ANNO Float)";

с другими все то же самое будет.


 
sniknik   (2003-03-26 11:58) [10]

Кроме может быть драйвера фокса. но у него свои заморочки, покруче.


 
Sergey_   (2003-03-26 15:51) [11]

2(sniknik) просто float получилось а если я хочу ещё целые значения хранить numeric(5,0) не проходит


 
sniknik   (2003-03-26 17:23) [12]

хотеть не вредно, но прогресс не остановиш :о))

у jet-а -
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False
на этот случай оставлено, DECIMAL
то есть сработает так
CREATE TABLE tabname ( DATETI CHAR(19), C_ANNO DECIMAL(5,0))
но в большинстве случаев все одно сделает поле размерностью 20,5 (для dBase III) 19,5 (насколько помню)
а все остальные не поддерживает (иногда проходят 16,2 и чегото) еще, но это несушественно. считай что нет.

(проще всего найди модуль, makedbf.pas простенький только для создания dbf-ок и без мемо (можно другой), и будеш иметь такую возможность, с готовыми dbf-ами работать будет любой драйвер)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
7-44464
galak
2003-02-18 03:00
2003.04.14
ещё одна клавиатура


1-44093
QUE
2003-04-02 17:52
2003.04.14
Как самому отрисовать TreeView ?


1-44111
Danik
2003-04-02 16:31
2003.04.14
программа не знает что такое TSHFileOpStruct


14-44333
Sid
2003-03-30 20:35
2003.04.14
Что такое F1Book в Delphi 6


14-44336
Romano
2003-03-25 14:58
2003.04.14
как на Delphi писать маленькие программы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский