예제 #1
0
        void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (!this.InvokeRequired)
            {
                this.pnlTranStatus.Visible = false;
                this.ckbxTarDB.Visible     = true;
                this.ckbxTarDB.Items.Clear();
                if (cbxTransData.Checked || cbxCreateTable.Checked)
                {
                    this.ckbxTarDB.Items.AddRange(TarDB.GetUserTables());
                }

                if (cbxTableScript.Checked && !string.IsNullOrWhiteSpace(((string[])e.Result)[1]))
                {
                    SaveFileDialog saveFile = new SaveFileDialog();
                    saveFile.Filter = "SQL|*.sql";
                    if (saveFile.ShowDialog(this) == DialogResult.OK)
                    {
                        System.IO.File.WriteAllText(saveFile.FileName, ((string[])e.Result)[1], Encoding.UTF8);
                    }
                }
                this.TarDB = null;
                MessageBox.Show(((string[])e.Result)[0], "提示", MessageBoxButtons.OK);
            }
            else
            {
                this.BeginInvoke(new Action(() =>
                {
                    this.pnlTranStatus.Visible = false;
                    this.ckbxTarDB.Visible     = true;
                    this.ckbxTarDB.Items.Clear();
                    if (cbxTransData.Checked || cbxCreateTable.Checked)
                    {
                        this.ckbxTarDB.Items.AddRange(TarDB.GetUserTables());
                    }

                    if (cbxTableScript.Checked && !string.IsNullOrWhiteSpace(((string[])e.Result)[1]))
                    {
                        SaveFileDialog saveFile = new SaveFileDialog();
                        saveFile.Filter         = "SQL|sql";
                        if (saveFile.ShowDialog(this) == DialogResult.OK)
                        {
                            System.IO.File.WriteAllText(saveFile.FileName, ((string[])e.Result)[1], Encoding.UTF8);
                        }
                    }
                    this.TarDB = null;
                    MessageBox.Show(((string[])e.Result)[0], "提示", MessageBoxButtons.OK);
                }), null);
            }
        }
예제 #2
0
        private string TarDBConnect()
        {
            try
            {
                switch (this.cbbx_database.Text)
                {
                case "MsSQL":
                    TarDB = new ODA.Adapter.DbAMsSQL(this.tbx_connectstring.Text);
                    break;

                case "MySql":
                    TarDB = new ODA.Adapter.DbAMySql(this.tbx_connectstring.Text);
                    break;

                case "OdbcInformix":
                    TarDB = new ODA.Adapter.DbAOdbcInformix(this.tbx_connectstring.Text);
                    break;

                case "OledbAccess":
                    TarDB = new ODA.Adapter.DbAOledbAccess(this.tbx_connectstring.Text);
                    break;

                case "Oracle":
                    TarDB = new ODA.Adapter.DbAOracle(this.tbx_connectstring.Text);
                    break;

                case "Sybase":
                    TarDB = new ODA.Adapter.DbASybase(this.tbx_connectstring.Text);
                    break;

                case "SQLite":
                    TarDB = new ODA.Adapter.DbASQLite(this.tbx_connectstring.Text);
                    break;

                case "DB2":
                    TarDB = new ODA.Adapter.DbADB2(this.tbx_connectstring.Text);
                    break;

                default:
                    break;
                }
                return("Connect Success");
            }
            catch (Exception ex)
            {
                TarDB = null;
                return(ex.Message);
            }
        }
예제 #3
0
        private void TarDBConnect()
        {
            switch (this.cbbx_database.Text)
            {
            case "MsSQL":
                TarDB = new ODA.Adapter.DbAMsSQL(this.tbx_connectstring.Text);
                break;

            case "MySql":
                TarDB = new ODA.Adapter.DbAMySql(this.tbx_connectstring.Text);
                break;

            case "OdbcInformix":
                TarDB = new ODA.Adapter.DbAOdbcInformix(this.tbx_connectstring.Text);
                break;

            case "OledbAccess":
                TarDB = new ODA.Adapter.DbAOledbAccess(this.tbx_connectstring.Text);
                break;

            case "Oracle":
                TarDB = new ODA.Adapter.DbAOracle(this.tbx_connectstring.Text);
                break;

            case "Sybase":
                TarDB = new ODA.Adapter.DbASybase(this.tbx_connectstring.Text);
                break;

            case "SQLite":
                TarDB = new ODA.Adapter.DbASQLite(this.tbx_connectstring.Text);
                break;

            case "DB2":
                TarDB = new ODA.Adapter.DbADB2(this.tbx_connectstring.Text);
                break;

            default:
                TarDB = CurrentDatabase.DataSource;
                break;
            }
        }
예제 #4
0
        private void btn_connect_Click(object sender, System.EventArgs e)
        {
            try
            {
                CurrentDatabase.DBConnectString = this.cbbxConnectstring.Text;
                ODA.DBAccess CurrentDb = null;
                switch (this.cbbx_database.Text)
                {
                case "MsSQL":
                    CurrentDb = new ODA.Adapter.DbAMsSQL(this.cbbxConnectstring.Text);
                    break;

                case "MySql":
                    CurrentDb = new ODA.Adapter.DbAMySql(this.cbbxConnectstring.Text);
                    break;

                case "OdbcInformix":
                    CurrentDb = new ODA.Adapter.DbAOdbcInformix(this.cbbxConnectstring.Text);
                    break;

                case "OledbAccess":
                    CurrentDb = new ODA.Adapter.DbAOledbAccess(this.cbbxConnectstring.Text);
                    break;

                case "Oracle":
                    CurrentDb = new ODA.Adapter.DbAOracle(this.cbbxConnectstring.Text);
                    break;

                case "Sybase":
                    CurrentDb = new ODA.Adapter.DbASybase(this.cbbxConnectstring.Text);
                    break;

                case "SQLite":
                    CurrentDb = new ODA.Adapter.DbASQLite(this.cbbxConnectstring.Text);
                    break;

                case "DB2":
                    CurrentDb = new ODA.Adapter.DbADB2(this.cbbxConnectstring.Text);
                    break;

                default:
                    break;
                }
                if (CurrentDb == null)
                {
                    return;
                }
                CurrentDatabase.UserTables = CurrentDb.GetUserTables();
                CurrentDatabase.UserViews  = CurrentDb.GetUserViews();
                if (!_ConnectString.Contains(this.cbbxConnectstring.Text))
                {
                    _ConnectString.Add(this.cbbxConnectstring.Text);
                    JavaScriptSerializer js = new JavaScriptSerializer();
                    string jsStr            = js.Serialize(_ConnectString);
                    System.IO.File.WriteAllText(ConnPath, jsStr, Encoding.UTF8);
                }

                try
                {
                    CurrentDatabase.UserProcedures = CurrentDb.GetUserProcedure();
                }
                catch { }
                CurrentDatabase.DataSource = CurrentDb;
                this.Close();
            }
            catch (Exception ex)
            {
                this.lblExecuteRlt.Text = "Create DataSource Error : " + ex.Message;
            }
        }