int VERITABANI_DEGISTIR ( ADAK_SQL ** p_program_db, QWidget * p_parent ) { QString veritabani_ismi; QString veritabani_tanimi; int veritabani_id = VERITABANI_SEC( KULLANICI_ID() , &veritabani_ismi , &veritabani_tanimi , (QDialog *)p_parent ); ADAK_SQL * db_conn = CREATE_ADAK_SQL_CONNECTION( GET_PROGRAM_DB_STRUCTS() , SQL_DBNAME_ONEK() + "adak_" + veritabani_ismi , (*p_program_db)->GET_SQL_DRIVER_ENUM()); if ( db_conn->CONNECT_TO_DATABASE( true ) EQ ADAK_OK ) { *p_program_db = db_conn; SET_VERITABANI_ID (veritabani_id); SET_VERITABANI_ISMI (veritabani_ismi); SET_VERITABANI_TANIMI (veritabani_tanimi); return veritabani_id; } return -1; }
void MUH_HESAP_PLANI_KOPYALA_BATCH::RUN_BATCH () { QString db_name = SQL_DBNAME_ONEK() + "adak_" + m_ui->searchEdit_veritabani_ismi->GET_TEXT(); TARGET_DB = CREATE_ADAK_SQL_CONNECTION( GET_PROGRAM_DB_STRUCTS() , db_name , GET_SQL_DB_DRIVER_ENUM(SQL_MOTORU())); if ( TARGET_DB->CONNECT_TO_DATABASE(true ) EQ ADAK_FAIL ) { MSG_WARNING( tr("Seçilen veritabanı ile bağlantı kurulamadı"), NULL ); return; } SQL_QUERY query_source_db(DB); SQL_QUERY query_target_db(TARGET_DB); query_target_db.PREPARE_SELECT("muh_hesaplar" , "hesap_id", "hesap_seviyesi = :hesap_seviyesi"); query_target_db.SET_VALUE(":hesap_seviyesi" , 2); if ( query_target_db.SELECT() NE 0 ) { //Hesaplara alt hesap acilmis ise ,baska bir hesap palnindan kopyalama yapilmayacak MSG_WARNING(tr("Veritabanınızdaki hesaplara alt hesap açılmış durumda." "Hesap Planı kopyalayamazsınız.") , NULL); return; } else { query_target_db.PREPARE_SELECT("muh_fis_satirlari" ,"fis_satiri_id"); if ( query_target_db.SELECT() NE 0 ) { MSG_WARNING(tr("Veritabanınızdaki hesaplar işlem görmüş," "Hesap Planı kopyalayamazsınız.") , NULL); return; } TARGET_DB->START_TRANSACTION(); query_source_db.PREPARE_SELECT("muh_hesaplar" , "hesap_id, parent_id, hesap_seviyesi," "hesap_kodu,hesap_ismi,tam_hesap_kodu,tali_hesap," "alt_hesap_sayisi"); if ( query_source_db.SELECT() NE 0 ) { query_target_db.PREPARE_DELETE("muh_hesaplar" , ""); query_target_db.DELETE(); int hesap_id = 0; while ( query_source_db.NEXT() ) { query_target_db.PREPARE_INSERT("muh_hesaplar" , "hesap_id" , "hesap_id,parent_id, hesap_seviyesi," "hesap_kodu, hesap_ismi,tam_hesap_kodu," "tali_hesap, alt_hesap_sayisi"); query_target_db.SET_VALUE(":hesap_id" , query_source_db.VALUE(0).toInt()); query_target_db.SET_VALUE(":parent_id" , query_source_db.VALUE(1).toInt()); query_target_db.SET_VALUE(":hesap_seviyesi" , query_source_db.VALUE(2).toInt()); query_target_db.SET_VALUE(":hesap_kodu" , query_source_db.VALUE(3).toString()); query_target_db.SET_VALUE(":hesap_ismi" , query_source_db.VALUE(4).toString()); query_target_db.SET_VALUE(":tam_hesap_kodu" , query_source_db.VALUE(5).toString()); query_target_db.SET_VALUE(":tali_hesap" , query_source_db.VALUE(6).toInt()); query_target_db.SET_VALUE(":alt_hesap_sayisi" , query_source_db.VALUE(7).toInt()); hesap_id = query_target_db.INSERT(); } if ( hesap_id > 0 ) { DB->SET_TABLE_AUTO_INCREMENT_ID_VALUE("muh_hesaplar" , "hesap_id" ,hesap_id); } } TARGET_DB->COMMIT_TRANSACTION(); MSG_WARNING(tr("İçerisinde bulunduğunuz veritabanı %1 Veritabanındaki hesap planına kopyalandı.").arg(m_ui->searchEdit_veritabani_ismi->GET_TEXT()),NULL); } }
void LOGIN_BATCH::RUN_BATCH() { if( G_YONETIM_DB->SQL_TABLES_EXISTS("") EQ true ) { int user_db_count = GET_USER_DB_COUNT( m_user_info->kullanici_id ); if ( user_db_count > 1 ) { int veritabani_secimi = VERITABANI_SEC( m_user_info->kullanici_id , &(m_user_info->veritabani_kodu) , &(m_user_info->veritabani_tanimi),this ); if ( veritabani_secimi EQ -1 ) { return; } } else if (user_db_count EQ 1 ) { m_user_info->veritabani_kodu = GET_VERITABANI_ISMI( m_user_info ); } } else { int secim = MSG_YES_NO( "Veritabanında Tablolar Yok Oluşturulsun mu ?", NULL ); if ( secim EQ ADAK_YES ) { m_user_info->is_first_login = true; } } if ( m_user_info->veritabani_kodu.isEmpty() EQ false ) { if ( m_user_info->sql_motoru EQ "YOK" ) { if ( PROGRAM_DB_VAR_MI( m_user_info->veritabani_kodu ) EQ false ) { MSG_WARNING( "Veritabanı yok!", NULL ); return; } else { CONNECT_TO_DB( ADAK_PROGRAM, m_user_info, false ); } } else { DB = CREATE_ADAK_SQL_CONNECTION( GET_PROGRAM_DB_STRUCTS(), QString(SQL_DBNAME_ONEK()+ "adak_" + m_user_info->veritabani_kodu ), GET_SQL_DB_DRIVER_ENUM( m_user_info->sql_motoru ) ); if( DB->CONNECT_TO_DATABASE( false ) EQ ADAK_FAIL ) { MSG_WARNING( "Veritabanı yok!", NULL ); return; } } if( DB->SQL_TABLES_EXISTS("") EQ false ) { int secim = MSG_YES_NO( "Veritabanında Tablolar Yok Oluşturulsun mu ?", NULL ); if ( secim EQ ADAK_YES ) { // m_user_info->is_first_login = true; } } } m_user_info->kullanici_kodu = m_ui->line_edit_kullanici_kodu->text(); m_user_info->kullanici_sifre = m_ui->line_edit_kullanici_sifre->text(); *m_all_informations_completed = true; m_user_info->is_auto_login = m_ui->check_box_otomatik_login->isChecked(); }
bool CONNECT_TO_SQL_DATABASE(QString sunucu, int port, QString sql_motoru, QString veritabani_on_ek, QString username, QString password, QString db_name, QString *return_error_text ) { if (sql_motoru.isEmpty() EQ true) { return false; } SET_SQL_MOTORU (sql_motoru); if (GET_SQL_DB_DRIVER_ENUM(sql_motoru) NE SQLITE) { if ( port <= 0 ) { port = GET_DEFAULT_SQL_PORT_NUMBER(GET_SQL_DB_DRIVER_ENUM(sql_motoru)); } if (sunucu.isEmpty() EQ true) { sunucu = "localhost"; } } SET_SQL_PORT ( port ); SET_SQL_HOSTNAME( sunucu ); SET_SQL_PASSWORD( QVariant( password ).toString() ); SET_SQL_USERNAME( QVariant( username ).toString() ); SET_SQL_DBNAME_ONEK (QVariant(veritabani_on_ek).toString()); if( db_name.isEmpty() EQ true ) { db_name = "adak_yonetim"; } else { db_name.prepend( "adak_"); } ADAK_SQL * db_conn = CREATE_ADAK_SQL_CONNECTION( QList<ADAK_SQL_STRUCT *>(), QString(SQL_DBNAME_ONEK()+ db_name ), GET_SQL_DB_DRIVER_ENUM(SQL_MOTORU()) ); if( db_conn->CONNECT_TO_DATABASE( false ) EQ ADAK_FAIL ) { if ( return_error_text NE NULL ) { *return_error_text = db_conn->GET_CONNECTION_LAST_ERROR(); } return false; } return true; }
int FIRST_LOGIN( USER_LOGIN_INFO_STRUCT * P_USER_LOGIN_INFO, bool p_ilk_kurulum ) { //! PROGRAM ILK CALISTIGINDA BURAYA DUSER VE GEREKLI //! BUTUN VERI TABANLARINI VE YETKI ATAMASINI YAPAR. //! NOTE : VERITABANI ILK YARATILDIGINDA DEFAULT OLARAK //! OLUSACAK KULLANICI VE BILGISAYAR BILGILERI P_USER_LOGIN_INFO->bilgisayar_kodu = QObject::tr ("C01"); P_USER_LOGIN_INFO->bilgisayar_adi = QObject::tr ("C01 Computer"); P_USER_LOGIN_INFO->kullanici_kodu = QObject::tr ("U01"); P_USER_LOGIN_INFO->kullanici_adi = QObject::tr ("U01 User"); P_USER_LOGIN_INFO->kullanici_sifre = ""; if( p_ilk_kurulum EQ true ) { P_USER_LOGIN_INFO->sql_motoru = "NONE"; P_USER_LOGIN_INFO->secili_sql_profili = QObject::tr ("Local Disk"); P_USER_LOGIN_INFO->veritabani_kodu = "000"; } P_USER_LOGIN_INFO->veritabani_tanimi = QString(QObject::tr ("%1 Database")).arg( P_USER_LOGIN_INFO->veritabani_kodu ); if ( P_USER_LOGIN_INFO->is_first_login EQ true ) { QSplashScreen * splash = CREATE_SPLASH_SCREEN(); splash->show(); splash->showMessage((QString("Configuring program for first usage. Please wait ...")), Qt::AlignCenter, Qt::white ); splash->finish(NULL); } //! SQL_LITE VERITABANINA BAGLANILMAYA CALISILDIGINDA OTOMATIK OLARAK //! BAGLANILAN ISIMDE BIR VERITABANI OLUSTURUR QString program_db_name = SQL_DBNAME_ONEK() + "adak_" + P_USER_LOGIN_INFO->veritabani_kodu; QString yonetim_db_name = SQL_DBNAME_ONEK() + "adak_yonetim"; G_YONETIM_DB = CONNECT_TO_DATABASE( ADAK_YONETIM, yonetim_db_name, P_USER_LOGIN_INFO->sql_motoru ); DB = CONNECT_TO_DATABASE( ADAK_PROGRAM, program_db_name, P_USER_LOGIN_INFO->sql_motoru ); G_YONETIM_DB->START_TRANSACTION(); //! [1] YENI BIR VERI TABANI OLSTURULUYOR if( p_ilk_kurulum EQ false ) { QString uyari_string = QString (QObject::tr("Tables needed do not exist in database!" "\nWill create tables and a new user according to the information you gave.\n\n Will do;\n" "Create database : %1 - %2 .\n" "Create %3 : user and give it all the permissions.")) .arg( P_USER_LOGIN_INFO->veritabani_kodu ) .arg( P_USER_LOGIN_INFO->veritabani_tanimi ) .arg( P_USER_LOGIN_INFO->kullanici_kodu ); if ( P_USER_LOGIN_INFO->is_first_login EQ true ) { ADAK_MSG_ENUM answer = ADAK_YES_NO_CANCEL(uyari_string , NULL, NULL); if (answer NE ADAK_YES) { return ADAK_OK; } } } if ( P_USER_LOGIN_INFO->kullanici_id EQ 1 ) { return ADAK_OK; } if ( CREATE_TABLES_OF_YONETIM( yonetim_db_name ) EQ ADAK_FAIL ) { return ADAK_FAIL; } SQL_QUERY sql_query ( G_YONETIM_DB ); sql_query.PREPARE_SELECT("ynt_kullanicilar", "kullanici_kodu","kullanici_kodu = :kullanici_kodu",""); sql_query.SET_VALUE ( ":kullanici_kodu" , P_USER_LOGIN_INFO->kullanici_kodu ); if ( sql_query.SELECT() EQ 0 ) { ADD_YONETICI_USER( P_USER_LOGIN_INFO->kullanici_sifre ); sql_query.PREPARE_INSERT ( "ynt_kullanicilar","kullanici_id","kullanici_kodu, kullanici_adi,silinmis_mi, parola"); sql_query.SET_VALUE ( ":kullanici_kodu" , P_USER_LOGIN_INFO->kullanici_kodu ); sql_query.SET_VALUE ( ":kullanici_adi" , P_USER_LOGIN_INFO->kullanici_adi ); sql_query.SET_VALUE ( ":silinmis_mi" , 0 ); QByteArray hash = QCryptographicHash::hash(QString(P_USER_LOGIN_INFO->kullanici_sifre).toUtf8(), QCryptographicHash::Md5); sql_query.SET_VALUE ( ":parola", QString( hash.toHex())); P_USER_LOGIN_INFO->kullanici_id = sql_query.INSERT(); QStringList mac_adresleri = GET_MAC_ADDRESS(); sql_query.PREPARE_INSERT ( "ynt_bilgisayarlar","bilgisayar_id","bilgisayar_kodu, bilgisayar_adi, " "mac_adresi_kablolu,mac_adresi_kablosuz,mac_adresi_3g, silinmis_mi "); sql_query.SET_VALUE( ":bilgisayar_kodu" , P_USER_LOGIN_INFO->bilgisayar_kodu ); sql_query.SET_VALUE( ":bilgisayar_adi" , P_USER_LOGIN_INFO->bilgisayar_adi ); if ( mac_adresleri.size() >= 1 ) { sql_query.SET_VALUE( ":mac_adresi_kablolu", GET_MAC_ADDRESS().at(0) ); } else { sql_query.SET_VALUE( ":mac_adresi_kablolu", "" ); } if ( mac_adresleri.size() >= 2 ) { sql_query.SET_VALUE( ":mac_adresi_kablosuz", GET_MAC_ADDRESS().at(1) ); } else { sql_query.SET_VALUE( ":mac_adresi_kablosuz", "" ); } if ( mac_adresleri.size() >= 3 ) { sql_query.SET_VALUE( ":mac_adresi_3g", GET_MAC_ADDRESS().at(2) ); } else { sql_query.SET_VALUE( ":mac_adresi_3g", "" ); } sql_query.SET_VALUE( ":silinmis_mi", 0 ); P_USER_LOGIN_INFO->bilgisayar_id = sql_query.INSERT(); //! VERITABANI ID OLUSUYOR. if ( CREATE_TABLES_OF_PROGRAM( P_USER_LOGIN_INFO, false ) EQ ADAK_FAIL ) { return ADAK_FAIL; } //! END sql_query.PREPARE_INSERT( "ynt_bilgisayar_kullanicilari","id","bilgisayar_id, kullanici_id"); sql_query.SET_VALUE( ":bilgisayar_id", P_USER_LOGIN_INFO->bilgisayar_id ); sql_query.SET_VALUE( ":kullanici_id" , P_USER_LOGIN_INFO->kullanici_id ); sql_query.INSERT(); sql_query.PREPARE_INSERT( "ynt_veritabani_kullanicilari","id","veritabani_id, kullanici_id"); sql_query.SET_VALUE( ":veritabani_id", P_USER_LOGIN_INFO->veritabani_id ); sql_query.SET_VALUE( ":kullanici_id", P_USER_LOGIN_INFO->kullanici_id ); sql_query.INSERT(); } SET_STATIC_VALUES( P_USER_LOGIN_INFO ); SET_KULLANICININ_CALISABILECEGI_VERITABANI_SAYISI ( 1 ); SET_BILGISAYARDA_KAYITLI_KULLANICI_SAYISI ( 1 ); KULLANICI_TAM_YETKILENDIR( P_USER_LOGIN_INFO->kullanici_id ); if (g_auto_login_flag EQ false) { SHOW_YARDIM_HATIRLATMA_DIALOG(); } G_YONETIM_DB->COMMIT_TRANSACTION(); //! [1] END return ADAK_OK; }