//---------------------------------------------------------------------------
// Описание: Формирует строку подключения для TADOConnection на основе пути к базе данных
// Параметры: AnsiString DBPath - Путь к файлу БД
// Возвращаемое значение: AnsiString ConnectionString- Строка подключения
AnsiString TdmADOComponents::SetConnectionString(AnsiString DBPath)
{
AnsiString ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBPath +";Persist Security Info=False";
return ConnectionString;
}
Вопрос по способам работы с БД через ADO
2. Как делать выборку из базы db?
3. Как значение из DateTimePicker1 записать в ячейку в базе?
Заранее благодарен
Цитата:
Originally posted by Pioner
1. Как с помощю ADO при запуске програмы указывать путь к базе если она не найдена?
2. Как делать выборку из базы db?
3. Как значение из DateTimePicker1 записать в ячейку в базе?
Заранее благодарен
1. Как с помощю ADO при запуске програмы указывать путь к базе если она не найдена?
2. Как делать выборку из базы db?
3. Как значение из DateTimePicker1 записать в ячейку в базе?
Заранее благодарен
[COLOR=red]
Название темы должно отражать суть вопроса! Т.к. это первый раз, то закроем на это глаза. Имейте ввиду.
[/COLOR]
По теме.
1) Указывать в RunTime-e, например если бы Вы писали на Билдере, то я бы посоветовал такой метод обращения к БД (в примере акцесс, в случае другой БД, настройки задаются сообразно БД, т.е. если например в акцесе путь к файлу бд, то например в мс скуэле адрес сервера и логин/пароль)
Код:
Соответсвенно результат этой функции присваиваешь строке подключения компонента ADOConnection. Где DBPath - путь к файлу БД, заданый пользователем или принудительно. Думаю принцип понятен.
2) Зависит от того что ты используешь при обращении к БД. Есть много способов.
3) Опять же уточняй что используешь. Судя по синтаксису - Дельфи или Билдер ими .НЕТ (могу ошибаться). Есть несколько способов, пока предложу три:
1) Использовать компоненты типа DBDateTimePicker которые непосредственно работают с БД (может не совсем так называется, но я что-то подобное использовал, есть в библиотеке RxLib)
2)Самому писать значение даты в БД отдельным - либо запросом, либо хр. процерурой
3)В контесте открытого запроса, установить его в режим редактирования (в билдере например ADOQuery1->Edit()), там найти запись и поправить соответсвенноо, например ADOQuery1->FieldByName->AsDateTime = DateTimePicker1->Date. Может Синтаксис не точен, т.к. пишу не в среде, но принцип должен быть понятен.
1.Я на форуме этого сайта уже 2 способа выложил
ГЛАВНАЯ > ПРОГРАММИРОВАНИЕ > Borland C++ Builder
Ко второму надо добавить
Registry->RootKey=HKEY_LOCAL_MACHINE;
if (!Registry->KeyExists("\\SOFTWARE\\ODBC\\ODBC.INI\\rig"))
{
создание DSN;
}
2.Пользуйся базой Access она удобнее
3.
Form1->ADOQuery3->FieldByName("Data postupl")->AsString=DateTimePicker2->DateTime;
тип записи должен быть TDataTime