Beispiel #1
0
        /// <summary>
        /// Oracle'连接数据库'按钮的事件处理.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOracleConnectDb_Click(object sender, EventArgs e)
        {
            string server = this.txtOracleServer.Text.Trim();
            string uid    = this.txtOracleUserID.Text.Trim();
            string pwd    = this.txtOraclePwd.Text.Trim();

            //ToolSetting.Language = ".Net";
            //ToolSetting.Postfix = this.txtDotNetPostfix.Text.Trim();

            //ToolSetting.TabSize = Convert.ToInt32(this.txtTabSize.Text.Trim());
            //ToolSetting.SavePath = this.txtSavePath.Text.Trim();
            //ToolSetting.References = ToolSetting.FormatStringArray(
            //        Regex.Split(this.rtbReferencesList.Text.Trim(), "\n+", RegexOptions.None));
            //ToolSetting.OracleDataMapping = (DataTable)this.dgvOracleMapping.DataSource;
            ToolSetting.ServiceName  = server;
            ToolSetting.UserName     = uid;
            ToolSetting.UserPassWord = pwd;

            /*
             * 保存用户设置信息
             * ***/
            ToolSetting.SaveUserSetting();
            //得到数据库参数.


            //相关验证.
            if (server.Equals("") || uid.Equals(""))
            {
                MessageBox.Show("服务名和用户名均不能为空!"
                                , "警告"
                                , MessageBoxButtons.OK
                                , MessageBoxIcon.Warning);
                return;
            }

            //得到连接字符串.
            string conStr = ConnectOracle.GetConnectionStr(server, uid, pwd);

            //访问数据库.
            ConnectOracle.OpenConnection(conStr);
            DataTable tabs = ConnectOracle.GetAllTableAndViewName();

            ConnectOracle.CloseConnection();

            //必要的验证.
            if (tabs == null)
            {
                return;
            }

            //得到所有表和视图的结构信息.
            //this.GetOracleTablesStructure(tabs);

            //显示所有的表和视图的名称.
            if (tabs != null)
            {
                this.clbTablesAndView.Items.Clear();
                for (int i = 0; i < tabs.Rows.Count; i++)
                {
                    string type = tabs.Rows[i][1].ToString().Trim().ToUpper();
                    string temp = null;
                    if (type.Equals("VIEW"))
                    {
                        temp = "@ ";
                    }
                    else
                    {
                        temp = "";
                    }
                    this.clbTablesAndView.Items
                    .Add(temp + tabs.Rows[i][0].ToString(), false);
                }
            }

            //显示第一个表或视图的结构信息.
            if (this.clbTablesAndView.Items.Count > 0)
            {
                this.clbTablesAndView.SelectedIndex = 0;
                string tabName = this.GetTableOrViewName
                                     (this.clbTablesAndView.Items[0].ToString());
                this.lblTabStructure.Text = "表" + tabName + "相关实体类结构:";
                this.FormatDgvTableStructure();
            }
            this.lblTabList.Text = "Oracle表/视图:";
        }