Поиск:

Ответ в темуСоздание новой темы Создание опроса
> куда написать запрос на создание таблицы в бд? бд создана программно 
V
    Опции темы
Teleport
Дата 25.10.2008, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот создаю БД программно:
Код

uses Comobj;
... 
procedure TForm1.Button1Click(Sender: TObject);
var
  AdoEngine: Variant;
begin
  if not FileExists('Base.Mdb') then begin
    try
      AdoEngine:= CreateOleObject('ADOX.Catalog');
      AdoEngine.Create('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Base.Mdb; Jet OLEDB:Engine Type=5;');
      AdoEngine.ActiveConnection.Close;
      AdoEngine:= Null;
    except on E:Exception do
      ShowMessage( E.Message );
    end;
  end
  else begin
    ShowMessage( 'БД уже существует!' );
  end;
end;


как мне таблицы теперь программно создавать в этой бд? я понимаю, что sql запросом. Примерно так:
('CREATE TABLE customer (First_Name char(50), Last_Name char(50), Address char(50))');
Но как мне его в моем коде прописать? Вообще как тут можно запрос любой прописать?


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 25.10.2008, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Teleport @  25.10.2008,  02:58 Найти цитируемый пост)
Но как мне его в моем коде прописать? Вообще как тут можно запрос любой прописать? 

Подключайся к созданной БД через ADO, да прописывай. smile 
Вот мой пример (без комментариев, надеюсь, разберёшься, что и где я имел в виду):

Код

function CreateAccessDatabase(FileName: string): string;
var 
 cat: OLEVariant; 
begin 
 result := ''; 
 try 
   cat := CreateOleObject('ADOX.Catalog');
   cat.create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Filename + ';');
   cat := NULL; 
 except 
   on e: Exception do 
     result := e.message; 
 end; 
end;
...
CreateAccessDatabase(direr.Directory+'\base.mdb');
conn.Connected:=false;
pp:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+direr.Directory+'\base.mdb;Persist Security Info=False';
conn.ConnectionString:=pp;
conn.Connected:=true;
zapros.Close;
zapros.SQL.Clear;
zapros.SQL.Add('create table base (fileee char (100),ddate char (30), super_id numeric)');
zapros.ExecSQL;
ado.Active:=false;
ado.TableName:='base';
ado.Active:=true;





--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 26.10.2008, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 Данкинг - неа, не все понятно  smile 
pp, conn, zapros, ado - как описать? я описал так:
Код

conn, pp, zapros, ado: Variant;


но мне пишет, что Invalid variant operation....


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 26.10.2008, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



conn - adoconnection
pp - переменная типа string
zapros - adoquery
ado - adotable


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 26.10.2008, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот сделал как понял... выкладываю проект - где ошибка понять не могу... smile)
что я там не так сделал?

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  sozd_table.rar 9,76 Kb


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 26.10.2008, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Teleport @  26.10.2008,  02:46 Найти цитируемый пост)
вот сделал как понял... выкладываю проект - где ошибка понять не могу...

"Неверный файл проекта" там. smile Поэтому запустить не могу. Но явные ошибки у тебя - это в свойстве "connection" как adotable, так и adoquery не прописано adoconnection, к которому они должны подключаться. Т.е. тебе следует там указать "conn" (выбрать из списка).


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 26.10.2008, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



извини smile
может ошибка потому что я делал в 2007 делфи? 
из файла проекта нужно удалить строку
Код

 Application.MainFormOnTaskbar := True;

если это то, о чем я думаю!! smile


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 26.10.2008, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



В смысле, файл ресурса неверный, а не проекта. smile Удаление строки не помогло, но я же тебе говорю, что исправить нужно. После этого ошибок вроде как быть не должно.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 26.10.2008, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



да, спасибо)))) я удалил ADOConnection и прописал свойства ConnectionString у Ado и zapros. таблицы создаются smile)))
только ошибка вылазиет... при создании - это явно какой-то простой недочет по незнанию или невнимательности...
вот файлы проекта и сам exe. Посмотри пожалуйста на ошибку, если не трудно или запустится...)))

Добавлено через 6 минут и 37 секунд
всеее!!! исправил - имя таблицы, блин, неправильно написал!! Спасибо огромное))))))

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  sozd_tablici.rar 285,34 Kb


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Данкинг
Дата 26.10.2008, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Угу, явно что-то с именем таблицы. Запустил .exe, а проект так и не запускает, видимо, D7 не понимает проектов D2007. Хотя проекты D2005 понимает.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Teleport
Дата 26.10.2008, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо, вопрос решен   smile  ))))))))). Осталось подробнее разобраться что такое OLE на самом деле smile 


--------------------
user posted image
user posted image 
PM MAIL   Вверх
Hellen
Дата 15.1.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

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



Цитата

куда написать запрос на создание таблицы в бд? 


А ответа на этот вопрос я так и не нашла...........
PM MAIL   Вверх
Rodman
Дата 15.1.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Hellen, в чем твой вопрос конкретно?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Hellen
Дата 15.1.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

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



Цитата

в чем твой вопрос конкретно?


Как создать и как организовать, куда написать запрос......

Использую  ADODataSet1,  ADOConnection1,  DataSours.
База Аксес.
 Необходимо чтоб пользователь смог создать таблицу.
Вообще у меня идея такая:
Пользователь вводит всякую разную информацию в едиты и в мемо,
А потом он нажимает кнопку сохранить, появляется окно с предложением ввести имя.
 (насамом деле это имя будущей таблицы)
Жмёт кнопку сохранить и данные из эдитов прыгают в поля созданой таблицы и POST.
 
PM MAIL   Вверх
Rodman
Дата 15.1.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Изучи - пример.

а запросы в TADOQuery пишутся...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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