private void btnTest_Click(object sender, EventArgs e) { ThongSo.DB_Mode = (DBMS)cboDatasource.SelectedIndex; ThongSo.DB_Server = txtServer.Text; ThongSo.DB_UserName = txtUserName.Text; ThongSo.DB_Password = txtPassword.Text; ThongSo.DB_AccessFile = bfcFileBrowse.txtFileName.Text; DBProviderBase database = new DBProviderBase(); if (database.TestConnection()) { DevExpress.XtraEditors.XtraMessageBox.Show("Test Connection succecced"); } else { DevExpress.XtraEditors.XtraMessageBox.Show("Test Connection failed", "Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public List <string> Process() { List <string> listCreateTable = new List <string>(); List <string> listPK = new List <string>(); List <string> listFK = new List <string>(); DBProviderBase database = new DBProviderBase(); foreach (Table table in mdp.Tables) { string strCreateTable = CreateTable(table.name, table.columns); listCreateTable.Add(strCreateTable); List <string> listPKName = new List <string>(); foreach (Column col in table.columns) { if (col.PrimaryKey) { listPKName.Add(col.Name); } } string strPK = CreatePrimaryKey(table.name, listPKName); listPK.Add(strPK); } foreach (ForeignKey fk in mdp.ForeignKeys) { string strFK = CreateForeignKey(fk.Name, fk.ParentTable, fk.ParentColumn, fk.ChildTable, fk.ChildColumn); listFK.Add(strFK); } string strDB = CreateDataBase(dbName); string strTables = GenerateTables(listCreateTable, listPK); string strFKs = GenerateForeignKeys(listFK); List <string> listScript = new List <string>(); listScript.Add(strDB); listScript.Add(strTables); listScript.Add(strFKs); return(listScript); }
public void GenerateDirect(string FolderPath, string dbName, string script) { if (ThongSo.DB_Server != "" && ThongSo.DB_Server != null || ThongSo.DB_Mode == DBMS.Access) { DBProviderBase database = new DBProviderBase(); if (ThongSo.DB_Mode == DBMS.Access) { string filePath = ""; if (!ThongSo.DB_IsNewDatabase) { filePath = ThongSo.DB_AccessFile; } else { filePath = FolderPath + "\\" + dbName + ".mdb"; } FileInfo fi = new FileInfo(filePath); if (fi.Exists) { if (DevExpress.XtraEditors.XtraMessageBox.Show("This database already existed\nDo you want to overwrite it ?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { fi.Delete(); } } if (database.CreateDatabase(dbName, FolderPath)) { if (database.Connect(filePath)) { if (database.Execute(script)) { database.Close(); } else { DevExpress.XtraEditors.XtraMessageBox.Show("Generate Failed, please manual check the generated script !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { DevExpress.XtraEditors.XtraMessageBox.Show("Cannot create the database\nMay be the file name is duplicated with write protected file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { if (database.TestConnection()) { if (!database.Connect(dbName)) { database.CreateDatabase(dbName, FolderPath); if (database.Connect(dbName)) { database.Execute(script); } } else { if (ThongSo.DB_Mode == DBMS.Oracle) { database.Execute(script); } else if (DevExpress.XtraEditors.XtraMessageBox.Show("This database already existed\nDo you want to overwrite it ?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { database.Execute(script); } } database.Close(); } else { DevExpress.XtraEditors.XtraMessageBox.Show("Cannot connect to database\nYou must start the database first", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { DevExpress.XtraEditors.XtraMessageBox.Show("Cannot connect to database\nPlease specify connection setting", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information); } }