Пример #1
0
        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;
            }
        }
Пример #2
0
        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();
        }