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
|
int connexion(const char* path, char** ErrText)
{
connected = false;
isc_db_handle con;
con = 0L;
ISC_STATUS status_vector[20];
char *str = "C:\\SFMG\\ValidateTh\\DbSqlFb\\theriaque.fdb";
char* user_name = "SYSDBA";
char* user_password = "masterkey";
char dpb_buffer[256], *dpb, *p;
short dpb_length;
/* Construct the database parameter buffer. */
dpb = dpb_buffer;
*dpb++ = isc_dpb_version1;
*dpb++ = isc_dpb_user_name;
*dpb++ = strlen(user_name);
for (p = user_name; *p;)
*dpb++ = *p++;
*dpb++ = isc_dpb_password;
*dpb++ = strlen(user_password);
for (p = user_password; *p;)
*dpb++ = *p++;
dpb_length = dpb - dpb_buffer;
long err = isc_attach_database(status_vector, strlen(str), str, &con, dpb_length, dpb_buffer);
if (status_vector[0] == 1 && status_vector[1])
{
isc_print_status(status_vector);
printf("SQLCODE:%d\n", isc_sqlcode(status_vector));
return -1;
}
QIBaseDriver *drv = new QIBaseDriver(con);
base = QSqlDatabase::addDatabase(drv);
connected = true;
return 1;
} |
Partager