Пример #1
0
        /// <summary>
        /// 呼出元を検索する
        /// </summary>
        private void btnSrchCaller_Click(object sender, EventArgs e)
        {
            DictionaryEntry     Item     = (DictionaryEntry)ListBox1.SelectedItem;
            SymfowareDataReader sfReader = null;

            try
            {
                using (SymfowareConnection conn = DbUtil.GetConnection())
                {
                    sfReader = GetProcedureCaller(conn, Item.Value.ToString());
                    List <string> calls = new List <string>();
                    while (sfReader.Read())
                    {
                        calls.Add(DbUtil.GetValue(sfReader, "PROCEDURE_NAME"));
                    }
                    sfReader.Close();

                    MessageBox.Show(string.Join("; ", calls));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                if (sfReader != null)
                {
                    sfReader.Close();
                }
            }
        }
Пример #2
0
        private void btnDel_Click(object sender, EventArgs e)
        {
            DictionaryEntry Item          = (DictionaryEntry)ListBox1.SelectedItem;
            string          procedureName = Item.Value.ToString();
            string          message       = procedureName + " を削除します。本当?";

            DialogResult result = MessageBox.Show(this, message, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                string str = "drop procedure CRMSC." + procedureName;

                using (SymfowareConnection conn = DbUtil.GetConnection())
                {
                    try
                    {
                        SymfowareCommand command = new SymfowareCommand(str, conn);
                        command.ExecuteReader();
                        MessageBox.Show("できた。");
                        btnReload.PerformClick();
                    }
                    catch (Fujitsu.Symfoware.Client.SymfowareException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
Пример #3
0
        private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DictionaryEntry     Item     = (DictionaryEntry)ListBox1.SelectedItem;
            SymfowareDataReader myReader = null;

            try
            {
                using (SymfowareConnection conn = DbUtil.GetConnection())
                {
                    myReader = GetProcedureDefinition(conn, Item.Key.ToString());
                    myReader.Read();

                    string strText = DbUtil.GetValue(myReader, "DESC_VALUE");

                    richTxtStoredDef.Text           = strText.Replace("\r", "\r\n");
                    richTxtStoredDef.SelectionStart = 0;
                    richTxtStoredDef.ScrollToCaret();

                    myReader.Close();

                    ShowStoredInfo(Item.Key.ToString());
                }
            }
            catch (Exception)
            {
                if (myReader != null)
                {
                    myReader.Close();
                }
            }
        }
Пример #4
0
        private void ShowTableList()
        {
            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                SymfowareDataReader sfReader = GetTableNameList(conn);

                while (sfReader.Read())
                {
                    string tabName    = DbUtil.GetValue(sfReader, "TABLE_NAME");
                    string tabCode    = DbUtil.GetValue(sfReader, "TABLE_CODE");
                    string dbCode     = DbUtil.GetValue(sfReader, "DB_CODE");
                    string schemaCode = DbUtil.GetValue(sfReader, "SCHEMA_CODE");
                    string tableOwner = DbUtil.GetValue(sfReader, "TABLE_OWNER");

                    string[] item = { tabName, tabCode, dbCode, schemaCode, tableOwner };
                    listViewTable.Items.Add(new ListViewItem(item));
                }

                sfReader.Close();
            }
            foreach (ListViewItem item in listViewTable.Items)
            {
                item.BackColor = item.Index % 2 == 0 ? Color.AntiqueWhite : Color.White;
            }
        }
Пример #5
0
        /// <summary>
        /// プロシージャ定義取得
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="storedCode"></param>
        /// <returns></returns>
        private SymfowareDataReader GetProcedureDefinition(SymfowareConnection conn, string storedCode)
        {
            string str = @"SELECT  DESC_VALUE 
                            FROM 
                             RDBII_SYSTEM.RDBII_DESCRIPTION 
                            WHERE OBJECT_CODE = :OBJECT_CODE ";

            SymfowareCommand command = new SymfowareCommand(str, conn);

            command.Parameters.Add("OBJECT_CODE", storedCode);
            return(command.ExecuteReader());
        }
Пример #6
0
        private SymfowareDataReader GetProcedureParameterInfo(SymfowareConnection conn, string storedCode)
        {
            string str = @"SELECT 
                          COLUMN_NAME, COLUMN_CODE, COLUMN_TYPE, DATA_TYPE, CHAR_MAX_LENGTH 
                         FROM 
                             RDBII_SYSTEM.RDBII_PROC_COL 
                         WHERE PROCEDURE_CODE = :PROCEDURE_CODE
                         ORDER BY COLUMN_CODE ";

            SymfowareCommand command = new SymfowareCommand(str, conn);

            command.Parameters.Add("PROCEDURE_CODE", storedCode);
            return(command.ExecuteReader());
        }
Пример #7
0
        private SymfowareDataReader GetProcedureNameList(SymfowareConnection conn)
        {
            string str = @"SELECT 
                            PROCEDURE_NAME, PROCEDURE_CODE 
                        FROM 
                            RDBII_SYSTEM.RDBII_PROC 
                        WHERE SCHEMA_NAME = 'CRMSC'
                        ORDER BY PROCEDURE_NAME";

            SymfowareCommand    command  = new SymfowareCommand(str, conn);
            SymfowareDataReader myReader = command.ExecuteReader();

            return(myReader);
        }
Пример #8
0
        private SymfowareDataReader GetColumnList(SymfowareConnection conn, string dbCode, string schemaCode, string tableCode)
        {
            string str = @"SELECT * FROM
                            RDBII_SYSTEM.RDBII_COLUMN
                            WHERE 
                                DB_CODE = :DB_CODE
                            AND SCHEMA_CODE = :SCHEMA_CODE
                            AND TABLE_CODE = :TABLE_CODE ";

            SymfowareCommand command = new SymfowareCommand(str, conn);

            command.Parameters.Add("DB_CODE", dbCode);
            command.Parameters.Add("SCHEMA_CODE", schemaCode);
            command.Parameters.Add("TABLE_CODE", tableCode);
            SymfowareDataReader sfReader = command.ExecuteReader();

            return(sfReader);
        }
Пример #9
0
        private SymfowareDataReader GetProcedureCaller(SymfowareConnection conn, string storedName)
        {
            string str = @"SELECT 
                            T1.PROCEDURE_NAME
                         FROM 
                             RDBII_SYSTEM.RDBII_DESCRIPTION T
                         LEFT JOIN RDBII_SYSTEM.RDBII_PROC T1
                         ON  T.DB_CODE      = T1.DB_CODE
                         AND T.SCHEMA_CODE  = T1.SCHEMA_CODE
                         AND T.OBJECT_CODE  = T1.PROCEDURE_CODE

                         WHERE UPPER(T.DESC_VALUE) LIKE :PROCEDURE_NAME
                         ";

            SymfowareCommand command = new SymfowareCommand(str, conn);

            command.Parameters.Add("PROCEDURE_NAME", "%" + storedName.ToUpper() + "%");
            return(command.ExecuteReader());
        }
Пример #10
0
        private void CreateProcedure()
        {
            string str = richTxtStoredDef.Text;

            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                try
                {
                    SymfowareCommand command = new SymfowareCommand(str, conn);
                    command.ExecuteNonQuery();
                    string text1 = "result:  " + command.ToString();
                    MessageBox.Show("できた。");
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
        }
Пример #11
0
        private void ShowProcedureList()
        {
            ListBox1.DisplayMember = "Value";
            ListBox1.ValueMember   = "Key";

            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                SymfowareDataReader myReader = GetProcedureNameList(conn);

                while (myReader.Read())
                {
                    string key   = DbUtil.GetValue(myReader, "PROCEDURE_NAME");
                    string value = DbUtil.GetValue(myReader, "PROCEDURE_CODE");
                    ListBox1.Items.Add(new DictionaryEntry(value, key));
                }

                myReader.Close();
            }
        }
Пример #12
0
        private SymfowareDataReader GetTableNameList(SymfowareConnection conn)
        {
            string str = @"SELECT
                                T1.DB_NAME, T1.SCHEMA_NAME, T1.TABLE_NAME, T1.DB_CODE, T1.SCHEMA_CODE, T1.TABLE_CODE, T2.TABLE_OWNER
                            FROM RDBII_SYSTEM.RDBII_TABLE T1
                            LEFT JOIN RDBII_SYSTEM.TABLES T2
                                ON T1.DB_CODE = T2.DB_CODE
                               AND T1.SCHEMA_CODE = T2.SCHEMA_CODE
                               AND T1.TABLE_CODE = T2.TABLE_CODE
                            WHERE T1.DB_NAME = :DB_NAME ";

            SymfowareCommand command = new SymfowareCommand(str, conn);

            var    appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
            string dbName    = appConfig.AppSettings.Settings["DBName"].Value;

            command.Parameters.Add("DB_NAME", dbName);
            SymfowareDataReader sfReader = command.ExecuteReader();

            return(sfReader);
        }
Пример #13
0
        private void listViewTable_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listViewTable.SelectedItems.Count == 0)
            {
                return;
            }
            string tableCode  = listViewTable.SelectedItems[0].SubItems[1].Text;
            string dbCode     = listViewTable.SelectedItems[0].SubItems[2].Text;
            string schemaCode = listViewTable.SelectedItems[0].SubItems[3].Text;

            string tableOwner = listViewTable.SelectedItems[0].SubItems[4].Text;

            txtInfo.Text = "Owner: {Owner}".Replace("{Owner}", tableOwner);

            listViewCol.Items.Clear();
            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                SymfowareDataReader sfReader = GetColumnList(conn, dbCode, schemaCode, tableCode);

                while (sfReader.Read())
                {
                    string colName  = DbUtil.GetValue(sfReader, "COLUMN_NAME");
                    string dataType = DbUtil.GetValue(sfReader, "DATA_TYPE");
                    string length   = DbUtil.GetValue(sfReader, "NUMERIC_PRECISION");
                    if (String.IsNullOrEmpty(length))
                    {
                        length = DbUtil.GetValue(sfReader, "CHAR_MAX_LENGTH");
                    }

                    string[] item = { colName, DbUtil.ReplaceColumnName(dataType), length };
                    listViewCol.Items.Add(new ListViewItem(item));
                }

                sfReader.Close();
            }
            foreach (ListViewItem item in listViewCol.Items)
            {
                item.BackColor = item.Index % 2 == 0 ? Color.PaleGreen : Color.White;
            }
        }
Пример #14
0
        public static SymfowareConnection GetConnection()
        {
            try
            {
                if (conn != null && conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }

                var    appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
                string connStr   = appConfig.AppSettings.Settings["Connection"].Value;

                conn = new SymfowareConnection(connStr);
                conn.Open();
                return(conn);
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed to connect to data source. Check App.Config.");
            }
            return(null);
        }
Пример #15
0
        private void btnExeProc_Click(object sender, EventArgs e)
        {
            List <ProcedureParameter> paramInfos = new List <ProcedureParameter>();
            DictionaryEntry           Item       = (DictionaryEntry)ListBox1.SelectedItem;

            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                SymfowareDataReader sfReader = GetProcedureParameterInfo(conn, Item.Key.ToString());
                while (sfReader.Read())
                {
                    ProcedureParameter paramInfo = new ProcedureParameter();
                    paramInfo.colType  = int.Parse(DbUtil.GetValue(sfReader, "COLUMN_TYPE"));
                    paramInfo.dataType = int.Parse(DbUtil.GetValue(sfReader, "DATA_TYPE"));
                    paramInfo.max      = int.Parse(DbUtil.GetValue(sfReader, "CHAR_MAX_LENGTH"));
                    paramInfo.colName  = DbUtil.GetValue(sfReader, "COLUMN_NAME");
                    paramInfos.Add(paramInfo);
                }
                sfReader.Close();
            }

            string strCommand = "CALL CRMSC." + Item.Value + "(";

            foreach (ProcedureParameter paramInfo in paramInfos)
            {
                strCommand += "?,";
            }
            strCommand = strCommand.TrimEnd(new Char[] { ',' }) + ")";

            using (SymfowareConnection conn = DbUtil.GetConnection())
            {
                SymfowareCommand command = new SymfowareCommand(strCommand, conn);
                command = DbUtil.CallProcedure(command, paramInfos);

                string text1 = "result:  " + command.Parameters["oERRMSG"].Value;
                command.Dispose();
            }
        }