Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание таблиц, Как создать таблицу из Delphi 
:(
    Опции темы
Марк
Дата 28.9.2004, 20:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здраствуйте!
Помогите пожалуйста. Подскажите как можно из Delphi либо создать таблицу, либо добавить в существующие поля?
Заранее спасибо!
Марк
  Вверх
Alex
Дата 28.9.2004, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Что используешь для работы с базой данных?


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Pakshin A. S.
Дата 28.9.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



Пизаем SQL-запрос в компонент типа TQuery
1) Создание таблицы:
Код

CREATE TABLE <Имя таблицы>
(<Имя поля> <Тип данных>,
...
<Имя поля> <Тип данных>);

2) Добавление
Код

INSERT INTO <Имя таблицы>
(<Список полей>)
VALUES (<Список значений>);


PM   Вверх
Pakshin A. S.
Дата 28.9.2004, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



Вот ещё:
1) типы полей
SMALLINT
INTEGER
DECIMAL(X,Y)
NUMERIC(X,Y)
FLOAT(X,Y)
VERCHAR(N)
CHARACTER(N)
DATE
BOOLEAN
BLOB(N,1)
BLOB(N,2)
BLOB(N,3)
BLOB(N,4)
BLOB(N,5)
TIME
TIMESTAMP
MONEY
AUTOINC
BYTES(N)

Подробно о типах можно почитать в Help'e Access'a

Пример:
CREATER TABLE NewTable
(Number integer,
Name Char(2),
BirthDay Date);

2) Insert
INSERT INTO NewTable
(Number, Name, BirthDay)
VALUES (1,'asdf', 11.11.1111);

Добавление через Table
Код

with Table1 do
begin
 Append;
 FieldByName('Number').AsInteger:=1;
 FieldByName('Name').AsString:='asdf';
 FieldByName('BirthDay').AsDateTime:=Now;
 Post
end;


А вообще на форуме это всё есть: немного поискать надо и всё...
Добавлено @ 20:52
http://forum.vingrad.ru/index.php?showtopic=5638

и

http://forum.vingrad.ru/index.php?showtopic=5724

Полезная инфа прямо под носом!!!
PM   Вверх
Medved
Дата 28.9.2004, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Кнокретная реализация завист от того драйвера, который вы используете для доступа к БД.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
falcon39
Дата 22.10.2004, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 21.6.2004

Репутация: нет
Всего: 0



Если можете то и мне помогите!!!
Delphi 5 MSSQL..
Хочу создать таблицу а мне выдается ошибка (Поставщик не может выполнит операцию)
Компонент ADOQuery.
--------------------
PM MAIL   Вверх
Vit
Дата 22.10.2004, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Цитата(falcon39 @ 22.10.2004, 13:18)
Хочу создать таблицу а мне выдается ошибка (Поставщик не может выполнит операцию)


Код в студию!


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Akella
  Дата 23.10.2004, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Код
   tNew.FieldDefs.Clear;
   tNew.IndexDefs.Clear;
   tNew.TableName:='Apteka.db';
   tNew.TableType:=ttDefault;
   tNew.FieldDefs.Add('AID',ftAutoInc);
   tNew.FieldDefs.Add('AName',ftString,20,False);
   tNew.FieldDefs.Add('AAddres',ftString,40,False);
   tNew.FieldDefs.Add('ATel',ftString,40,False);
   tNew.FieldDefs.Add('AMAIL',ftString,30,False);
   tNew.FieldDefs.Add('AFA',ftString,10,False);
   tNew.IndexDefs.Add('','AID',[ixPrimary]);
   tNew.IndexDefs.Add('idxAName','AName',[ixCaseInsensitive]);
   tNew.IndexDefs.Add('idxAAddres','AAddres',[ixCaseInsensitive]);
   tNew.IndexDefs.Add('idxATel','ATel',[ixCaseInsensitive]);
   tNew.IndexDefs.Add('idxAMail','AMail',[ixCaseInsensitive]);
   tNew.IndexDefs.Add('idxAFA','AFA',[ixCaseInsensitive]);
   tNew.CreateTable;


Это сообщение отредактировал(а) dsergey - 23.10.2004, 08:59
PM MAIL   Вверх
Vit
Дата 24.10.2004, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Используй SQL! Pakshin тебе дал правильный ответ.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Гость_falcon39
Дата 24.10.2004, 11:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В своей ошибке разобрался. Теперь другая проблема. При создании таблицы выдается ошибка "ADOQuery1: CommandText does not return a result set" При этом таблица создается как избавиться от этой ошибки. Поставил try.....except сообщение об ощибке не показывается но она все равно существует. Межет есть другой способ от нее избавиться.
  Вверх
Pakshin A. S.
Дата 24.10.2004, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



как я понял, вы используете Query1.Open а при выполнении запроса на создание таблицы надо использовать Query1.ExecSQL...
Вот и всё! :D
PM   Вверх
Гость_Алексей
Дата 10.3.2005, 16:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Создаем базу


if not Session.IsAlias('BDBP') then
begin
CreateDirectory('C:\Program Files\BDBP', nil);
try
Session.AddStandardAlias('BDBP','C:\Program Files\BDBP','PARADOX');
Session.SaveConfigFile;
except
MessageDlg('Ошибка в создании базы', mtError, [mbOk], 0);
exit;
end;
end;
end;

Создаем таблицу


begin
if InputQuery('Создать','Введите имя файла', NameFile) then
if not FileExists('C:\Program Files\BDBP\'+NameFile+'.db') then
begin
Screen.Cursor:=crHourGlass;
Table:=TTable.Create(Self);
try
Table.DatabaseName:='BDBP';
Table.TableName:=NameFile+'.db';
Table.FieldDefs.Add('Date', ftDate,0,True);
Table.FieldDefs.Add('Vznos', ftCurrency,0,True);
Table.FieldDefs.Add('Kreditor', ftString,50,True);
Table.FieldDefs.Add('Procent', ftFloat,0,True);
Table.CreateTable;
except
MessageDlg('Ошибка в создании файла', mtError, [mbOk], 0);
Screen.Cursor:=crDefault;
Table.Free;
Exit;
end;
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.