1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
void TForm1::SeekSQLServer()
{
//SQL SERVER
ADOConnection1->Provider = "SQLNCLI"; //SQL Native CLIent
WideString cs = "Provider=SQLNCLI;Server="+txtServer->Text+ ";Initial Catalog=master;";
if(chkIntegrated->Checked)
{
cs += "Integrated Security=SSPI;";
}
else
{
cs += ";Initial Catalog=master;UID="+txtUser->Text+
";PWD="+txtPass->Text+";";
}
ADOConnection1-> ConnectionString = cs;
try
{
ADOConnection1->Open();
}
catch(...)
{
Application->MessageBox(
"Error Connecting. Please verify the informations","Error!", MB_OK);
}
try
{
//list all DB's
ADODataSet1->Connection = ADOConnection1;
ADODataSet1->CursorLocation = clUseServer;
ADODataSet1->CursorType = ctKeyset;
ADODataSet1->LockType = ltBatchOptimistic;
ADODataSet1->CommandType = cmdText;
ADODataSet1->CommandText = "sp_databases";
ADODataSet1->Open();
ADODataSet1->Recordset->MoveFirst();
vector<AnsiString> databases;
while(!ADODataSet1->Recordset->Eof)
{
databases.push_back(ADODataSet1->Recordset->Fields->Item["DATABASE_NAME"]->Value);
ADODataSet1->Recordset->MoveNext();
}
//ADOConnection1->OpenSchema(siTables, EmptyParam, EmptyParam, ADODataSet1);
if(!ADOConnection1->Connected)
{
throw Sysutils::Exception("No connection made");
}
//populate the combo
cboDBName->Items->Clear();
for(int i=0; i<databases.size(); i++)
{
cboDBName->Items->Add(databases[i]);
}
if(databases.size()==0)
{
Application->MessageBox(
"Error Finding a suitable DB.","Error!", MB_OK);
}
ADODataSet1->Close();
ADOConnection1-> Close();
}
catch(...)
{
ADODataSet1->Close();
ADOConnection1-> Close();
Application->MessageBox(
"Error Finding a suitable DB.","Error!", MB_OK);
}
} |
Partager