| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 30.09.2002
Сообщения: 320
![]() |
Соединение Дельфи с базой данных
Неужели дельфи работает с бд исключительно с помощью ODBC ? А что, если мне необходимо открыть одну бд, потом другую? Что если на машине не установлен ODBC. Разве нет возможности подключаться к базе данных указываю просто локальный путь к ней, через тот же opendialog. Заранее благодарен за разъяснения. И ещё один вопрос, в чём же собсвенно различие между dbe и ado, Если и первая и вторая работают с бд практически одинаково, через хренов odbc ?
|
|
|
|
|
# 2 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Delphi сам не понимает БД. Поэтому либо сам объясняй ему формат БД и остальное, либо пользуй существующие (BDE, ODBC и т.д.)
Можно использовать какой-нибудь специальный компонент, включающий простенький движок БД. Посмотри здесь http://dbisam.da.ru/ |
|
|
|
|
# 3 |
|
Guest
Сообщения: n/a
|
2 steelik
Можно практически напрямую: Через интерфейсные библиотеки, поставляемые с сервером баз данных например (или их выкладывают на оффсайте). Для взаимодействия с Дельфи есть наборы компонентов. Я таким образом работаю с Interbase (Firebird). Аналогично можно работать с Мускулом. Для других - не встречал (потому что не искал) |
|
|
# 4 |
|
Member
Регистрация: 31.05.2003
Адрес: Russia, St.Petersburg
Сообщения: 232
![]() ![]() ![]() ![]() ![]() |
ODBC дает возможность работать практически с любой БД через один и тот же механизм. если ты не знаешь или тебе параллельно, какая БД будет использоваться - это наиболее простой метод.
Если заранее известно, какая база, то можно найти компоненты для прямого доступа, например, для Oracle - ODAC или DOA, Interbase - IBObjects или IBExpress и т.д. и т.п. P.S. Далеко не к любой БД можно указать локальный путь
__________________
Пиво должно быть правильным. Вот водка - правильное пиво! |
|
|
|
|
# 6 |
|
Member
Регистрация: 30.09.2002
Сообщения: 320
![]() |
Вот что у меня получилось. Скажите, есть какая-нибудь разница при работа с Locate или поиском подобным образом, изложеным мною ниже:
Код:
var
query : string;
begin
query := Format('SELECT * FROM mydb.db WHERE NAME=''%s'' or LAST=''%s'' ', [Edit1.Text, Edit2.Text]);
with Query1.SQL do
begin
Clear;
Clear;
Add(query);
end;
Query1.Open;
if Query1.IsEmpty then begin
Query1.Close;
Exit;
end;
|
|
|