private void btnTestInsert_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(cmbKensu.Text)) { MessageBox.Show("挿入件数を指定して下さい。"); return; } if (MessageBox.Show("ダミーデータを挿入しますか?", "確認", MessageBoxButtons.OKCancel) != System.Windows.Forms.DialogResult.OK) { MessageBox.Show("キャンセルしました。"); return; } lblTotalNum.Text = cmbKensu.Text; lblInsertedNum.Text = "0"; long insertednum = 0; long kensu = 0; long.TryParse(cmbKensu.Text, out kensu); MySQLDAO.MySQLConString objConString = this.getObjConstring(); List<string> colNames = new List<string>(); Dictionary<string, string> colTypes = new Dictionary<string, string>(); Dictionary<string, string> colVales = new Dictionary<string, string>(); Dictionary<string, string> paramsByColumn = new Dictionary<string, string>(); Dictionary<string, string> nullratiosByColumn = new Dictionary<string, string>(); foreach (DataGridViewRow row in this.grid.Rows) { CustomDataMySQLTable c = row.DataBoundItem as CustomDataMySQLTable; if (c != null) { string columnName = c.ColName; string param = c.Val; string nullratio = c.NullRatio; paramsByColumn.Add(columnName, param); nullratiosByColumn.Add(columnName, nullratio); } } ColumnData cold = new ColumnData(paramsByColumn, nullratiosByColumn); try { using (MySQLDAOContext con = new MySQLDAOContext(MySQLConString.getStaticConstring())) { con.OpenConnection(); //con.BeginTransaction(IsolationLevel.RepeatableRead); InsertDAO dao = new InsertDAO(con); for (int l = 0; l < kensu; l++) { Dictionary<string, string> genedCols = cold.GenerateNext(); colNames.Clear(); colTypes.Clear(); colVales.Clear(); foreach (DataGridViewRow row in this.grid.Rows) { CustomDataMySQLTable c = row.DataBoundItem as CustomDataMySQLTable; if (c != null) { string columnName = c.ColName; string colVal = genedCols[columnName]; string colType = c.ColType; colNames.Add(columnName); colTypes.Add(columnName, colType); colVales.Add(columnName, colVal); } } try { dao.Insert(tbxTableName.Text, colNames, colTypes, colVales); //con.CommitTransaction(); } catch (Exception excp) { /* MessageBox.Show(excp.Message); MessageBox.Show("ロールバックします。"); con.RollbackTransaction(); con.CloseConnection(); return; */ MySQLTableHelper.SetNext(); continue; } MySQLTableHelper.SetNext(); insertednum++; lblInsertedNum.Text = insertednum.ToString(); System.Windows.Forms.Application.DoEvents(); } con.CloseConnection(); } MessageBox.Show(insertednum + "の挿入に成功しました。"); } catch (Exception excp) { MessageBox.Show("エラーが発生しました。MySQLが起動しているかご確認下さい。"); return; } }
private void btnParse1_Click(object sender, EventArgs e) { string columnName = "col1"; string param = tbxScript1.Text; MySQLDAO.MySQLConString objConString = this.getObjConstring(); Dictionary<string, string> paramsByColumn = new Dictionary<string, string>(); Dictionary<string, string> nullratiosByColumn = new Dictionary<string, string>(); paramsByColumn.Add(columnName, param); nullratiosByColumn.Add(columnName, ""); ColumnData cold = new ColumnData(paramsByColumn, nullratiosByColumn); //1 Dictionary<string, string> genedCols = cold.GenerateNext(); MessageBox.Show(genedCols[columnName]); MySQLTableHelper.SetNext(); //2 Dictionary<string, string> genedCols2 = cold.GenerateNext(); MessageBox.Show(genedCols2[columnName]); MySQLTableHelper.SetNext(); }