Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 14:42   #1
norfonzor
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 20
Вопрос Начать работу с БД, ADO, SQL

Хочу научиться создавать БД, и работать с ней. Язык SQL понятен.
Прочитал что лучше работать с ADO нежели с BDE.

Компонент есть в делфи во вкладке ADO? С ним можно работать?
Базы должны создаваться программно, и их кол-n. Возможно ли такое в ADO?

что то на подобии:

кидаю на форму ADOConnection1 TDataSource ADOTable1.
далее указываю connectionstring




создал связи:

через UDF файл в ктором указан документ 1.mdb

к какому компоненту мне обращаться (на языке SQL) для создания баз и в них таблиц?
если так:
1) CREATE DATABASE data1
CREATE TABLE tab1(name text, adress test)
...
CREATE TABLE tabn(name text, adress test)

...
...
2)CREATE DATABASE datan
CREATE TABLE tab1(name text, adress test)
...
CREATE TABLE tabn(name text, adress test)

тоесть мне надо создать n DATABASE в каждой чтобы было i-е кол-во таблиц.
я смогу создать столько таблиц и они все будут храниться в 1.mdb?
и это ведь будет работать без установленного MS office Access?
norfonzor вне форума Ответить с цитированием
Старый 20.05.2010, 22:12   #2
T@tali
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 72
По умолчанию

а че чем база в аксесе не нравиться? проще на мой взгляд. И с подсоединением проблем нет.
T@tali вне форума Ответить с цитированием
Старый 21.05.2010, 08:50   #3
norfonzor
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 20
По умолчанию

хочется понять как работать с SQL в делфи. ведь используя этот язык можно очень быстро работать с БД
norfonzor вне форума Ответить с цитированием
Старый 21.05.2010, 09:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кидаешь на форму ADOQuery. Его свойство ConnectString пропиши строку коннекта, а потом

Код:
with AdoQuery do begin
 Sql.Text:='CREATE TABLE tab1(name text, adress test)';
 execsql;
end;
И все.
А если в Text select напишешь то открывай методом Open
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2010, 10:04   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну для создания БД придётся использовать DAO по крайней меря я не знаю других способов. //лучше не замарачиватся

А для работы с таблицами создание, редактирование, итд итп можно использовать TADODataset, или TADOQuery


Код:
я смогу создать столько таблиц и они все будут храниться в 1.mdb?
да, но количество таблиц кажется ограниченное точно не скажу
Код:
и это ведь будет работать без установленного MS office Access?
да главное чтоб был провайдер к примеру "Microsoft.Jet.OLEDB.4.0"
vovk вне форума Ответить с цитированием
Старый 21.05.2010, 12:18   #6
norfonzor
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 20
По умолчанию

появляется ошибка на
Код:
execsql;
при нажатии на Button1
и ничего не добавляется в базу

мб я не правильно что то где то связал?
в ConnectString указал UDL.UDL ,в котором указан 1.mdb

В 1.mdb точно можно создавать n DATABASE? или для каждого DATABASE должен быть свой *.mdb
norfonzor вне форума Ответить с цитированием
Старый 21.05.2010, 12:19   #7
norfonzor
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 20
По умолчанию

Мб так?
Код:
 
ADOQuery.Active:=false;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('CREATE TABLE tel(fio text, tel text)');

Последний раз редактировалось norfonzor; 21.05.2010 в 12:31.
norfonzor вне форума Ответить с цитированием
Старый 21.05.2010, 12:31   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
CREATE TABLE tab1(name text, adress test)
а что за тип поля test я такого незнаю отсюда и ошибка
vovk вне форума Ответить с цитированием
Старый 21.05.2010, 12:54   #9
norfonzor
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 20
По умолчанию

действительно, сейчас работает
а чем отличаются
SQL.Add от Sql.Text ?

и зачем необходимо execsql?
norfonzor вне форума Ответить с цитированием
Старый 21.05.2010, 13:19   #10
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

SQL.Add Добавляет строку в конец списка., Sql.Text содержимое Sql в виде 1 строки
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начать работу с Code::Blocks Koluna Софт 15 29.05.2010 17:55
Начать работу с БД, ADO, SQL norfonzor Общие вопросы Delphi 0 20.05.2010 10:41
ADO + MS SQL + Delphi Mixasik БД в Delphi 13 08.07.2009 21:35
ADO + SQL Server. Как правильно организовать одновременную работу с таблицей Mouse123 БД в Delphi 17 04.07.2008 17:35