/// <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(); } } }
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); } } } }
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(); } } }
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; } }
/// <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()); }
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()); }
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); }
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); }
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()); }
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); } } }
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(); } }
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); }
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; } }
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); }
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(); } }