Проверка наличия базы
Как проверить наличие базы и таблиц на машине при запуске программы, и если нет то создать?
bool FileExists(AnsiString FileName) - проверяет наличие файла.
bool FileExists(AnsiString FileName) - проверяет наличие файла.
Что не так, почему не видит?
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString FileName="C:\IB\AVT.GDB";
if(!FileExists(FileName))
{
//Form2->Show();
ShowMessage("Файл не найден!");
}
}
Что не так, почему не видит?
Потому что надо так:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString FileName="C:\\IB\\AVT.GDB";
if(!FileExists(FileName))
{
//Form2->Show();
ShowMessage("Файл не найден!");
}
}
А как создать файл базы из программы? Используется IBDataSet, а ведь он должен быть предварительно настроен на базу. :???:
А вот это не знаю. Но точно не компонент типа DataSet.
А как создать файл базы из программы? Используется IBDataSet, а ведь он должен быть предварительно настроен на базу. :???:
IBDatabase1->CreateDatabase();
Предварительно задай IBDatabase1->DatabaseName и IBDatabase1->Params
IBDatabase1->CreateDatabase();
Предварительно задай IBDatabase1->DatabaseName и IBDatabase1->Params
Большое спасибо!
Что не так, почему не работает запрос?
try
{
IBDataSet1->Close();
IBDataSet1->SelectSQL->Clear();
IBDataSet1->SelectSQL-> Add("select Num,Speed,max(DateTime),Basket,X,Y,Z FROM XYZ WHERE Num='"+ TreeView1->Items->Item[Node->AbsoluteIndex]-> Text+"' GROUP BY Num");
IBDataSet1->Open();
}
catch(...)
{
IBDataSet1->ExecSQL();
}
Генерится исключение
IBDatabase1->CreateDatabase();
Предварительно задай IBDatabase1->DatabaseName и IBDatabase1->Params
Генерится исключение, что не так?
AnsiString FileName="C:\\IB\\VTO.GDB";
if(!FileExists(FileName))
{
//Form2->Show();
//ShowMessage("База отсутствует! Создать новую базу?");
IBDatabase1->Params->Clear();
IBDatabase1->DatabaseName="C:\\IB\\VTO.GDB";
IBDatabase1->Params->Add("User_name=SYSDBA");
IBDatabase1->Params->Add("lc_ctype=WIN1251");
IBDatabase1->Params->Add("Password=masterkey");
IBDatabase1->CreateDatabase();
IBDatabase1->Open();
}
Генерится исключение, что не так?
Без описания исключения ответ могу дать только при личной встрече на конспиративной квартире.
Без описания исключения ответ могу дать только при личной встрече на конспиративной квартире.
:D Хелр перевернул, но помог метод тыка. Кому интересно, вот:
AnsiString FileName="C:\\IB\\VTO.GDB";
if(!FileExists(FileName))
{
//Form2->Show();
//ShowMessage("База отсутствует! Создать новую базу?");
IBDatabase1->Params->Clear();
IBDatabase1->DatabaseName="C:\\IB\\VTO.GDB";
IBDatabase1->Params->Add("User 'SYSDBA'");
IBDatabase1->Params->Add("Password 'masterkey'");
IBDatabase1->CreateDatabase();
}
Это работает. Только вот не разберусь с
IBDatabase1->Params->Add("lc_ctype 'WIN1251'");
почему-то не работает - исключение:
:???: