Главная страница
    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.47 MB
Время: 0.008 c
1-44178
phantom2040
2003-04-03 10:39
2003.04.14
Помогите с округлением


14-44341
sid
2003-03-30 23:13
2003.04.14
*.EXE Как зделать в делфи 6 ехе фаил :))>


1-44203
grusty
2003-04-01 16:24
2003.04.14
Можно ли в качастве переменной использовать компонент?


14-44375
Officeman
2003-03-26 23:08
2003.04.14
сабж Вот и я тоже невыдержал и побежал потрепаться =)ХА)


7-44470
JohnKorsh
2003-02-19 13:49
2003.04.14
Работа с последовательными портами.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский