public void AutoIncrementColumnsOnInsert2()
        {
            execSQL("CREATE TABLE Test (id INT UNSIGNED NOT NULL " +
                "AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))");
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);

            MySqlCommand cmd = (MySqlCommand)(cb.GetInsertCommand() as ICloneable).Clone();
            cmd.CommandText += "; SELECT last_insert_id() as id";
            cmd.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord;
            da.InsertCommand = cmd;

            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Rows.Clear();

            DataRow row = dt.NewRow();
            row["name"] = "Test";
            dt.Rows.Add(row);
            da.Update(dt);
            Assert.AreEqual(1, dt.Rows[0]["id"]);
            Assert.AreEqual("Test", dt.Rows[0]["name"]);

            row = dt.NewRow();
            row["name"] = "Test2";
            dt.Rows.Add(row);
            da.Update(dt);
            Assert.AreEqual(2, dt.Rows[1]["id"]);
            Assert.AreEqual("Test2", dt.Rows[1]["name"]);

            Assert.AreEqual(1, dt.Rows[0]["id"]);
        }
示例#2
0
        public void AutoIncrementColumnsOnInsert()
        {
            execSQL("DROP TABLE IF EXISTS Test");
            execSQL("CREATE TABLE Test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, " +
                "name VARCHAR(100), PRIMARY KEY(id))");
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);

            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Columns[0].AutoIncrement = true;
            Assert.IsTrue(dt.Columns[0].AutoIncrement);
            dt.Columns[0].AutoIncrementSeed = -1;
            dt.Columns[0].AutoIncrementStep = -1;
            DataRow row = dt.NewRow();
            row["name"] = "Test";

            try
            {
                dt.Rows.Add(row);
                da.Update(dt);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
            dt.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual(1, dt.Rows[0]["id"]);
            Assert.AreEqual("Test", dt.Rows[0]["name"]);
            cb.Dispose();
        }
    public void MultiWord()
    {
      execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), dt DATETIME, tm TIME,  `multi word` int, PRIMARY KEY(id))");

      MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
      MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
      DataTable dt = new DataTable();
      da.Fill(dt);

      DataRow row = dt.NewRow();
      row["id"] = 1;
      row["name"] = "Name";
      row["dt"] = DBNull.Value;
      row["tm"] = DBNull.Value;
      row["multi word"] = 2;
      dt.Rows.Add(row);
      da.Update(dt);
      Assert.AreEqual(1, dt.Rows.Count);
      Assert.AreEqual(2, dt.Rows[0]["multi word"]);

      dt.Rows[0]["multi word"] = 3;
      da.Update(dt);
      cb.Dispose();
      Assert.AreEqual(1, dt.Rows.Count);
      Assert.AreEqual(3, dt.Rows[0]["multi word"]);
    }
示例#4
0
        public void MultiWord()
        {
            try
            {
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
                DataTable dt = new DataTable();
                da.Fill(dt);

                DataRow row = dt.NewRow();
                row["id"] = 1;
                row["name"] = "Name";
                row["dt"] = DBNull.Value;
                row["tm"] = DBNull.Value;
                row["multi word"] = 2;
                dt.Rows.Add(row);
                da.Update(dt);
                Assert.AreEqual(1, dt.Rows.Count);
                Assert.AreEqual(2, dt.Rows[0]["multi word"]);

                dt.Rows[0]["multi word"] = 3;
                da.Update(dt);
                cb.Dispose();
                Assert.AreEqual(1, dt.Rows.Count);
                Assert.AreEqual(3, dt.Rows[0]["multi word"]);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
        public void AutoIncrementColumnsOnInsert()
        {
            execSQL("CREATE TABLE Test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, " +
                "name VARCHAR(100), PRIMARY KEY(id))");
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);

            da.InsertCommand = cb.GetInsertCommand();
            da.InsertCommand.CommandText += "; SELECT last_insert_id()";
            da.InsertCommand.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord;

            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Columns[0].AutoIncrement = true;
            Assert.IsTrue(dt.Columns[0].AutoIncrement);
            dt.Columns[0].AutoIncrementSeed = -1;
            dt.Columns[0].AutoIncrementStep = -1;
            DataRow row = dt.NewRow();
            row["name"] = "Test";

            dt.Rows.Add(row);
            da.Update(dt);

            dt.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual(1, dt.Rows[0]["id"]);
            Assert.AreEqual("Test", dt.Rows[0]["name"]);
            cb.Dispose();
        }
示例#6
0
        public void LastOneWins()
        {
            execSQL("INSERT INTO Test (id, name) VALUES (1, 'Test')");

            MySqlCommandBuilder cb = new MySqlCommandBuilder(
                new MySqlDataAdapter("SELECT * FROM Test", conn));
            MySqlDataAdapter da = cb.DataAdapter;
            cb.ConflictOption = ConflictOption.OverwriteChanges;
            DataTable dt = new DataTable();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);

            execSQL("UPDATE Test SET name='Test2' WHERE id=1");

            dt.Rows[0]["name"] = "Test3";
            Assert.AreEqual(1, da.Update(dt));

            dt.Rows.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("Test3", dt.Rows[0]["name"]);
        }
示例#7
0
        public void AutoIncrementColumnsOnInsert2()
        {
            execSQL("DROP TABLE IF EXISTS Test");
            execSQL("CREATE TABLE Test (id INT UNSIGNED NOT NULL " +
                "AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))");
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ReturnGeneratedIdentifiers = true;

            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Rows.Clear();

            try
            {
                DataRow row = dt.NewRow();
                row["name"] = "Test";
                dt.Rows.Add(row);
                da.Update(dt);
                Assert.AreEqual(1, dt.Rows[0]["id"]);
                Assert.AreEqual("Test", dt.Rows[0]["name"]);

                row = dt.NewRow();
                row["name"] = "Test2";
                dt.Rows.Add(row);
                da.Update(dt);
                Assert.AreEqual(2, dt.Rows[1]["id"]);
                Assert.AreEqual("Test2", dt.Rows[1]["name"]);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.AreEqual(1, dt.Rows[0]["id"]);
        }
        public void OriginalInName()
        {
            CreateDefaultTable();
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ToString();  // keep the compiler happy
            DataTable dt = new DataTable();
            da.Fill(dt);

            DataRow row = dt.NewRow();
            row["id"] = DBNull.Value;
            row["id2"] = 1;
            row["name"] = "Test";
            row["dt"] = DBNull.Value;
            row["tm"] = DBNull.Value;
            row["ts"] = DBNull.Value;
            row["OriginalId"] = 2;
            dt.Rows.Add(row);
            da.Update(dt);

            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual(2, dt.Rows[0]["OriginalId"]);
        }
        public void TestBatchingUpdates()
        {
            execSQL("CREATE TABLE Test (id INT, name VARCHAR(20), PRIMARY KEY(id))");
            execSQL("INSERT INTO Test VALUES (1, 'Test 1')");
            execSQL("INSERT INTO Test VALUES (2, 'Test 2')");
            execSQL("INSERT INTO Test VALUES (3, 'Test 3')");

            MySqlDataAdapter dummyDA = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(dummyDA);

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test ORDER BY id ASC", conn);
            da.UpdateCommand = cb.GetUpdateCommand();
            da.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;

            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["id"] = 4;
            dt.Rows[1]["name"] = "new test value";
            dt.Rows[2]["id"] = 6;
            dt.Rows[2]["name"] = "new test value #2";

            da.UpdateBatchSize = 0;
            da.Update(dt);

            dt.Rows.Clear();
            da.Fill(dt);
            Assert.AreEqual(3, dt.Rows.Count);
            Assert.AreEqual(2, dt.Rows[0]["id"]);
            Assert.AreEqual(4, dt.Rows[1]["id"]);
            Assert.AreEqual(6, dt.Rows[2]["id"]);
            Assert.AreEqual("new test value", dt.Rows[0]["name"]);
            Assert.AreEqual("Test 1", dt.Rows[1]["name"]);
            Assert.AreEqual("new test value #2", dt.Rows[2]["name"]);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string           myConnection  = "server=127.0.0.1;datasource = localhost;port = 3306; username =  merch;password=ialsql1851;database=studenttest;";
                MySqlConnection  myConn        = new MySqlConnection(myConnection);
                MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                //myDataAdapter.SelectCommand = new MySqlCommand("describe students;", myConn);
                myDataAdapter.SelectCommand = new MySqlCommand("SELECT * FROM students;", myConn);

                MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
                myConn.Open();
                //DataSet ds = new DataSet();

                DataTable table = new DataTable();
                myDataAdapter.Fill(table);

                BindingSource bSource = new BindingSource();
                bSource.DataSource = table;

                dataGridView1.DataSource = bSource;
                //dataGridView1.DataMember = table;

                myDataAdapter.Update(table);

                ////////////////////////////////


                //using (SqlConnection sqlConn = new SqlConnection("yourConnectionString"))
                //{
                //using (SqlCommand cmd = new SqlCommand())
                //{
                //SqlCommand cmd = new SqlCommand
                //cmd.CommandText = "SELECT first_name, last_name FROM students";
                //cmd.Parameters.Add("@first_name", SqlDbType.Text).Value = "Andy",myConn);
                //  cmd.Parameters.  ("SELECT first_name, last_name Where first_name='Andy';");
                //cmd.Connection = myConn;

                MySqlCommand mSqlCmd = myConn.CreateCommand();
                mSqlCmd.CommandText = "select * from students WHERE first_Name = 'Andy'";
                MySqlDataReader mSqlReader;

                //myConn.Open();
                DataSet ds = new DataSet();
                mSqlReader = mSqlCmd.ExecuteReader();
                DataTable dtCustomers = new DataTable();
                dtCustomers.Load(mSqlReader);

                // foreach (DataRow row in dtCustomers.Rows)
                // textBox1.Text = dtCustomers.Rows[1]["last_name"];       Console.WriteLine(row["last_name"].ToString())
                foreach (DataRow row in dtCustomers.Rows)
                {
                    //Console.WriteLine(row["customerName"].ToString());
                    textBox1.Text = row["last_name"].ToString();
                }


                //Console.ReadKey();

                //using (SqlDataReader reader = cmd.ExecuteReader())
                //{
                //  if (reader.Read())
                //{
                //  textBox1.Text = (string)reader.GetValue[0];
                //textBox2.Text = (string)reader[1];
                //}
                //}
                //}
                //}
                //myConn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //MessageBox.Show("Connected");
        }
示例#11
0
        private void orders(DateTime beginDateTime, DateTime endDateTime)
        {
            /* listViewOrders.Columns.Add("ORDER ID", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Date and Time", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Table number", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Waiter ID", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Paid", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Cash or Card", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Status", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Menu Item ID", -2, HorizontalAlignment.Left);
             * listViewOrders.Columns.Add("Quantity orderd", -2, HorizontalAlignment.Left);*/


            int      cashORcard  = 0;
            int      status      = 0;
            int      paid        = 0;
            int      waiter      = 0;
            int      table       = 0;
            string   sCashOrCard = "";
            string   sPaid       = "";
            string   sStatus     = "";
            DateTime date        = new  DateTime();
            int      orderID     = 0;
            string   orderQuery  = " SELECT * FROM `ORDER` WHERE `Order_Date_Time` >='" + beginDateTime.ToString("yyyy-MM-dd H:mm:ss") + "' AND `Order_Date_Time` <= '" + endDateTime.ToString("yyyy-MM-dd H:mm:ss") + "'";

            MySqlCommand cmmd = new MySqlCommand();

            cmmd.CommandText = orderQuery;
            cmmd.Connection  = connection;
            try
            {
                adap  = new MySqlDataAdapter(cmmd);
                build = new MySqlCommandBuilder(adap);

                DataTable ds = new DataTable();
                adap.Fill(ds);

                order = ds;
            }
            catch
            {
            }

            MySqlCommand cmd = new MySqlCommand(orderQuery, connection);

            // data reader
            var itemOrder = new ListViewItem(new[] { "", "", "", "", "", "", "", "", "" });

            //listBox1.Items.Add(" ORDER ID  Date \t \tTable \t Waiter ID "+"    "+ "Cash or Card \t  Paid \t Status \t Menu Item ID \t Quantity");
            foreach (DataRow r in order.Rows)
            {
                orderID = int.Parse(r["Order_ID"].ToString());
                date    = DateTime.Parse(r["Order_Date_Time"].ToString());
                table   = int.Parse(r["Table_nr"].ToString());
                waiter  = int.Parse(r["Waiter_ID"].ToString());
                status  = int.Parse(r["Status"].ToString());
                if (status == 0)
                {
                    sStatus = "NotDelivered";
                }
                else
                {
                    sStatus = "Delivered";
                }



                cashORcard = int.Parse(r["CashOrCard"].ToString());
                if (cashORcard == 0)
                {
                    sCashOrCard = "Cash";
                }
                else
                {
                    sCashOrCard = "Card";
                }
                paid = int.Parse(r["Paid"].ToString());
                if (paid == 0)
                {
                    sPaid = "false";
                }
                else
                {
                    sPaid = "true";
                }


                // get Order detail info on order id
                orderQuery = " SELECT * FROM `ORDER-DETAIL` WHERE Order_ID = '" + orderID + "'";
                connection.Open();
                //put in comand
                cmd = new MySqlCommand(orderQuery, connection);
                MySqlDataReader dataR1 = cmd.ExecuteReader();
                // data reader
                while (dataR1.Read())
                {
                    //dataR.GetValue();
                    //listViewOrders.Items.Add(orderID.ToString(), date.ToString, table.ToString,waiter.ToString,cashORcard.ToString,paid.ToString(),status.ToString, dataR["MenuItemID"] +"",dataR["Quantity_Orderd"] +"");
                    itemOrder = new ListViewItem(new[] { orderID.ToString(), date.ToString(), table.ToString(), waiter.ToString(), cashORcard.ToString(), paid.ToString(), status.ToString(), dataR1["Menu_Item_ID"] + "", dataR1["Quantity_Ordered"] + "" });
                    //listViewOrders.Items.Add(itemOrder);
                    listBoxOrders.Items.Add(" ORDER ID: " + orderID.ToString() + "\t Date:" + date.ToString() + "\t Table:" + table.ToString() + " \tWaiter ID: " + waiter.ToString() + " \t" + sCashOrCard + " \t Paid:" + sPaid + "\t " + sStatus + "\tMenu Item ID: " + dataR1["Menu_Item_ID"] + " \tQuantity: " + dataR1["Quantity_Ordered"] + "");
                    listBoxOrders.Items.Add("=================================================================================================================================================");
                }

                //close data reader
                dataR1.Close();
                //close connection
                connection.Close();
            }



            /*connection.Open();
             *
             * //put in comand
             *
             * while (dataR.Read())
             * {
             *  //dataR.GetValue();
             *
             *
             *  //listViewOrders.Items.Add(dataR["Order_ID"]+","+ dataR["Order_DateTime"] + "," + dataR["Table_nr"] + "," + dataR["Waiter_ID"] + "," + dataR["Paid"] + "," + dataR["CashOrCard"] + "," + dataR["Status"] );
             *
             *
             * }
             *
             * // close data reader
             * dataR.Close();
             * // close connection
             * connection.Close();*/
            MessageBox.Show("Done");
        }
        public void DifferentDatabase()
        {
            if (Version < new Version(4, 1)) return;

            execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), dt DATETIME, tm TIME,  `multi word` int, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test (id, name) VALUES (1,'test1')");
            execSQL("INSERT INTO Test (id, name) VALUES (2,'test2')");
            execSQL("INSERT INTO Test (id, name) VALUES (3,'test3')");

            conn.ChangeDatabase(database1);

            MySqlDataAdapter da = new MySqlDataAdapter(
                String.Format("SELECT id, name FROM `{0}`.Test", database0), conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataSet ds = new DataSet();
            da.Fill(ds);

            ds.Tables[0].Rows[0]["id"] = 4;
            DataSet changes = ds.GetChanges();
            da.Update(changes);
            ds.Merge(changes);
            ds.AcceptChanges();
            cb.Dispose();

            conn.ChangeDatabase(database0);
        }
        public void SemicolonAtEndOfSQL()
        {
            execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), PRIMARY KEY(id))");
            execSQL("INSERT INTO Test VALUES(1, 'Data')");

            DataSet ds = new DataSet();
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `Test`;", conn);
            da.FillSchema(ds, SchemaType.Source, "Test");

            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Rows[0]["id"] = 2;
            da.Update(dt);

            dt.Clear();
            da.Fill(dt);
            cb.Dispose();
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual(2, dt.Rows[0]["id"]);
        }
示例#14
0
        private void UpdateMobNameButton_Click(object sender, EventArgs e)
        {
            if (Util.IsEmpty(MobNamecomboBox.Text))
            {
                MessageBox.Show(" WARNING: Name to be Changed can't be null.");
                return;
            }
            string originalName = MobNamecomboBox.Text.Replace("'", "''");

            if (Util.IsEmpty(ChangedNametextBox.Text))
            {
                MessageBox.Show(" WARNING: Name to Set can't be null.");
                return;
            }
            string newName = ChangedNametextBox.Text.Replace("'", "''");

            int MobrowsAffected = 0;
            int MobxAmbientBehaviourrowsAffected      = 0;
            int DataquestrowsAffected                 = 0;
            int DropTemplateXItemTemplaterowsAffected = 0;
            int MobDropTemplaterowsAffected           = 0;
            int NPCTemplaterowsAffected               = 0;
            int InventoryCreatorrowsAffected          = 0;
            int LootTemplaterowsAffected              = 0;
            int MobXLootTemplaterowsAffected          = 0;
            int LootOTDrowsAffected   = 0;
            int LootGeneratorAffected = 0;

            try
            {
                Util.Connection.Open();

                MySqlDataAdapter MobNameVerifdataAdapter = new MySqlDataAdapter();
                string           selectCommand           = "select * from mob  where name = '" + newName + "'";
                // Create a new data adapter based on the specified query.
                MobNameVerifdataAdapter = new MySqlDataAdapter(selectCommand, Util.Connection);
                // Create a command builder to generate SQL update, insert, and
                // delete commands based on selectCommand. These are used to
                // update the database.
                MySqlCommandBuilder commandBuilderMobNameVerif = new MySqlCommandBuilder(MobNameVerifdataAdapter);
                DataTable           MobNameVerifData           = new DataTable();
                MobNameVerifData.Clear();
                // Populate a new data table.
                MobNameVerifData.Locale = System.Globalization.CultureInfo.InvariantCulture;
                MobNameVerifdataAdapter.Fill(MobNameVerifData);

                if (MobNameVerifData.Rows.Count > 0)
                {
                    if (MessageBox.Show(MobNameVerifData.Rows.Count + " Mobs already have this name. Ignore and rename it?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                    {
                        Util.Connection.Close();
                        return;
                    }
                }

                MySqlCommand MobCommand = Util.Connection.CreateCommand();

                MobCommand.CommandText = "update Mob set name='" + newName + "' where name ='" + originalName + "'";
                MobrowsAffected        = MobCommand.ExecuteNonQuery();

                if (UpdateMobxAmbientBehaviourcheckBox.Checked)
                {
                    MySqlCommand MobxAmbientBehaviourCommand = Util.Connection.CreateCommand();

                    MobxAmbientBehaviourCommand.CommandText = "update MobxAmbientBehaviour set source='" + newName + "' where source ='" + originalName + "'";
                    MobxAmbientBehaviourrowsAffected        = MobxAmbientBehaviourCommand.ExecuteNonQuery();
                }

                if (UpdateDataquestcheckBox.Checked)
                {
                    MySqlCommand DataquestCommand = Util.Connection.CreateCommand();

                    DataquestCommand.CommandText = "update dataquest set startname='" + newName + "' where startname ='" + originalName + "'";
                    DataquestrowsAffected        = DataquestCommand.ExecuteNonQuery();

                    //Todo replace sourcename too
                }

                if (UpdateDropTemplateXItemTemplatecheckBox.Checked)
                {
                    MySqlCommand DropTemplateXItemTemplateCommand = Util.Connection.CreateCommand();

                    DropTemplateXItemTemplateCommand.CommandText = "update DropTemplateXItemTemplate set templatename='" + newName + "' where templatename ='" + originalName + "'";
                    DropTemplateXItemTemplaterowsAffected        = DropTemplateXItemTemplateCommand.ExecuteNonQuery();

                    MySqlCommand MobDropTemplateCommand = Util.Connection.CreateCommand();

                    MobDropTemplateCommand.CommandText = "update MobDropTemplate set mobname='" + newName + "' where mobname ='" + originalName + "'";
                    MobDropTemplaterowsAffected        = MobDropTemplateCommand.ExecuteNonQuery();

                    MySqlCommand MobDropTemplateCommand2 = Util.Connection.CreateCommand();

                    MobDropTemplateCommand2.CommandText = "update MobDropTemplate set loottemplatename='" + newName + "' where loottemplatename ='" + originalName + "'";
                    MobDropTemplateCommand2.ExecuteNonQuery();
                }

                if (UpdateNPCTemplatecheckBox.Checked)
                {
                    MySqlCommand NPCTemplateCommand = Util.Connection.CreateCommand();

                    NPCTemplateCommand.CommandText = "update npctemplate set name='" + newName + "' where name ='" + originalName + "'";
                    NPCTemplaterowsAffected        = NPCTemplateCommand.ExecuteNonQuery();

                    //Update NPCTemplate Name combobox value
                    foreach (DataRow myRow in NPCTemplateDatatable.Rows)
                    {
                        if (myRow["name"].ToString() == MobNamecomboBox.Text.ToString())
                        {
                            myRow["name"] = ChangedNametextBox.Text;
                        }
                    }
                }

                if (UpdateInventoryCreatorcheckBox.Checked)
                {
                    MySqlCommand InventoryCreatorCommand = Util.Connection.CreateCommand();

                    InventoryCreatorCommand.CommandText = "update inventory set creator='" + newName + "' where creator ='" + originalName + "'";
                    InventoryCreatorrowsAffected        = InventoryCreatorCommand.ExecuteNonQuery();
                }

                if (UpdateMobXLootTemplatecheckBox.Checked)
                {
                    MySqlCommand DropTemplateXItemTemplateCommand = Util.Connection.CreateCommand();

                    DropTemplateXItemTemplateCommand.CommandText = "update loottemplate set templatename='" + newName + "' where templatename ='" + originalName + "'";
                    LootTemplaterowsAffected = DropTemplateXItemTemplateCommand.ExecuteNonQuery();

                    MySqlCommand MobXLootTemplateCommand = Util.Connection.CreateCommand();

                    MobXLootTemplateCommand.CommandText = "update MobXLootTemplate set mobname='" + newName + "' where mobname ='" + originalName + "'";
                    MobXLootTemplaterowsAffected        = MobXLootTemplateCommand.ExecuteNonQuery();

                    MySqlCommand MobXLootTemplateCommand2 = Util.Connection.CreateCommand();

                    MobXLootTemplateCommand2.CommandText = "update MobXLootTemplate set loottemplatename='" + newName + "' where loottemplatename ='" + originalName + "'";
                    MobXLootTemplateCommand2.ExecuteNonQuery();
                }

                if (UpdateLootOTDcheckBox.Checked)
                {
                    MySqlCommand LootOTDCommand = Util.Connection.CreateCommand();

                    LootOTDCommand.CommandText = "update loototd set mobname='" + newName + "' where mobname ='" + originalName + "'";
                    LootOTDrowsAffected        = LootOTDCommand.ExecuteNonQuery();
                }

                if (UpdateLootGeneratorcheckBox.Checked)
                {
                    MySqlCommand LootGeneratorCommand = Util.Connection.CreateCommand();

                    LootGeneratorCommand.CommandText = "update lootgenerator set mobname='" + newName + "' where mobname ='" + originalName + "'";
                    LootGeneratorAffected            = LootGeneratorCommand.ExecuteNonQuery();
                }

                Util.Connection.Close();
            }
            catch (MySqlException s)
            {
                MessageBox.Show(s.Message);
            }

            MessageBox.Show(string.Format(" Table Mob rows affected: {0}\n Table MobxAmbientBehaviour rows affected: {1}\n Table Dataquest rows affected: {2}\n Table DropTemplateXItemTemplate rows affected: {3}\n Table MobDropTemplate rows affected: {4}\n Table NPCTemplate rows affected: {5}\n Table Inventory rows affected: {6}\n Table LootTemplate rows affected: {7}\n Table MobXLootTemplate rows affected: {8}\n Table LootOTD rows affected: {9}\n Table LootGenerator rows affected: {10}\n ",
                                          MobrowsAffected, MobxAmbientBehaviourrowsAffected, DataquestrowsAffected, DropTemplateXItemTemplaterowsAffected, MobDropTemplaterowsAffected, NPCTemplaterowsAffected, InventoryCreatorrowsAffected, LootTemplaterowsAffected, MobXLootTemplaterowsAffected, LootOTDrowsAffected, LootGeneratorAffected));
        }
示例#15
0
        private void UpdateDGV(DataGridView DGV, string str)
        {
            DataTable DT = new DataTable();

            DGV.Rows.Clear();
            connection.Open();
            MSDA = new MySqlDataAdapter(str, connection);
            MySqlCommandBuilder MSCB = new MySqlCommandBuilder(MSDA);

            try
            {
                MSDA.Fill(DT);
            }
            catch (Exception)
            {
                MessageBox.Show(MESSAGES[0]);
            }
            foreach (DataRow row in DT.Rows)
            {
                try
                {
                    switch (DGV.ColumnCount)
                    {
                    case 2:  DGV.Rows.Add(row[0].ToString(), row[1].ToString()); break;

                    case 3:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString()); break;

                    case 4:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString()); break;

                    case 5:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString()); break;

                    case 6:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString()); break;

                    case 7:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString()); break;

                    case 8:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString()); break;

                    case 9:  DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString()); break;

                    case 10: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString()); break;

                    case 11: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString(), row[10].ToString()); break;

                    case 12: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString(), row[10].ToString(), row[11].ToString());  break;

                    case 13: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString(), row[10].ToString(), row[11].ToString(), row[12].ToString()); break;

                    case 14: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString(), row[10].ToString(), row[11].ToString(), row[12].ToString(), row[13].ToString()); break;

                    case 15: DGV.Rows.Add(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(), row[9].ToString(), row[10].ToString(), row[11].ToString(), row[12].ToString(), row[13].ToString(), row[14].ToString()); break;
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show(MESSAGES[2]);
                }
            }
            connection.Close();
            DT.Rows.Clear();
            DT.Dispose();
        }
        private void itemOrderReportViewer_Load(object sender, EventArgs e)
        {
            //set start date parameter

            ParameterFields From = new ParameterFields();
            ParameterField  PID  = new ParameterField();

            PID.Name = "FromDate";
            ParameterDiscreteValue val = new ParameterDiscreteValue();

            val.Value = Reports.startDate;
            PID.CurrentValues.Add(val);
            From.Add(PID);
            itemOrderrptViewer.ParameterFieldInfo = From;

            //set end date parameter
            ParameterField PID1 = new ParameterField();

            PID1.Name = "ToDate";
            ParameterDiscreteValue val1 = new ParameterDiscreteValue();

            val1.Value = Reports.endDate;
            PID1.CurrentValues.Add(val1);
            From.Add(PID1);
            itemOrderrptViewer.ParameterFieldInfo = From;


            //create data table
            DataTable itemtblTemp = new DataTable();

            DataTable idtbl = new DataTable();

            itemtbl.Columns.Add("io_id");
            itemtbl.Columns.Add("client_id");
            itemtbl.Columns.Add("creation_time");
            itemtbl.Columns.Add("item_id");
            itemtbl.Columns.Add("qty");
            itemtbl.Columns.Add("name");
            itemtbl.Columns.Add("released");
            itemtbl.Columns.Add("latest_delivery_time");

            //create item id table
            try
            {
                String query;
                if (Reports.sortbysupclient == false)
                {
                    query = "SELECT io_id , client_id, creation_time, released, latest_delivery_time  FROM itemorder where  approval='Approved' AND creation_time between '" + Reports.startDate + "' and '" + Reports.endDate + "'  ";
                }
                else
                {
                    query = "SELECT io_id , client_id, creation_time, released , latest_delivery_time  FROM itemorder where  approval='Approved' AND creation_time between '" + Reports.startDate + "' and '" + Reports.endDate + "' AND client_id='" + Reports.supclientval + "'  ";
                }
                var dataAdapter    = new MySqlDataAdapter(query, DatabaseHandler.MySQLConnectionString);
                var commandBuilder = new MySqlCommandBuilder(dataAdapter);
                dataAdapter.Fill(idtbl);
                Console.WriteLine("Rows are " + idtbl.Rows.Count);
                if (idtbl.Rows.Count == 0)
                {
                    MessageBox.Show("NO Entries available");
                    this.Close();
                    return;
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Error Occured! ");
                Console.WriteLine(er.Message);
                return;
            }


            int noOfRows = idtbl.Rows.Count;

            for (int i = 0; i < noOfRows; i++)
            {
                try
                {
                    String query          = "SELECT itemorder_item.io_id, itemorder_item.item_id ,itemorder_item.qty , item.name FROM itemorder_item INNER JOIN item ON itemorder_item.item_id = item.item_id  where itemorder_item.io_id= '" + idtbl.Rows[i][0].ToString() + "' ";
                    var    dataAdapter    = new MySqlDataAdapter(query, DatabaseHandler.MySQLConnectionString);
                    var    commandBuilder = new MySqlCommandBuilder(dataAdapter);
                    dataAdapter.Fill(itemtblTemp);
                    Console.WriteLine(itemtblTemp.Rows.Count);
                }
                catch (Exception er)
                {
                    MessageBox.Show(er.Message);
                }
            }
            if (itemtblTemp.Rows.Count == 0)
            {
                MessageBox.Show("Error Occured! Please check input details!");
                return;
            }
            int noOfRows2 = itemtblTemp.Rows.Count;

            for (int i = 0; i < noOfRows2; i++)
            {
                DataRow rw = itemtbl.NewRow();
                rw["io_id"]   = itemtblTemp.Rows[i][0];
                rw["item_id"] = itemtblTemp.Rows[i][1];
                rw["qty"]     = itemtblTemp.Rows[i][2];
                rw["name"]    = itemtblTemp.Rows[i][3];
                for (int j = 0; j < noOfRows; j++)
                {
                    if (itemtblTemp.Rows[i][0].ToString() == idtbl.Rows[j][0].ToString())
                    {
                        rw["client_id"]            = idtbl.Rows[j][1];
                        rw["creation_time"]        = idtbl.Rows[j][2];
                        rw["released"]             = idtbl.Rows[j][3];
                        rw["latest_delivery_time"] = idtbl.Rows[j][4];
                    }
                }
                itemtbl.Rows.Add(rw);
            }
            Console.WriteLine("item tbl rows" + itemtbl.Rows.Count);
            int noOfRows3 = itemtbl.Rows.Count;


            itemsumtbl.Columns.Add("item_id");
            itemsumtbl.Columns.Add("name");
            itemsumtbl.Columns.Add("qty");
            int noOfRows4 = 0;

            for (int i = 0; i < noOfRows3; i++)
            {
                noOfRows4 = itemsumtbl.Rows.Count;
                int count = 0;
                for (int j = 0; j < noOfRows4; j++)
                {
                    if (itemtbl.Rows[i][3].ToString() == itemsumtbl.Rows[j][0].ToString())
                    {
                        itemsumtbl.Rows[j][2] = Convert.ToInt32(itemtbl.Rows[i][4].ToString()) + Convert.ToInt32(itemsumtbl.Rows[j][2].ToString());
                        count++;
                    }
                }
                if (count == 0)
                {
                    DataRow rw = itemsumtbl.NewRow();
                    rw["item_id"] = itemtbl.Rows[i][3];
                    rw["qty"]     = itemtbl.Rows[i][4];
                    rw["name"]    = itemtbl.Rows[i][5];
                    itemsumtbl.Rows.Add(rw);
                }
            }

            if (Reports.summarize == true)
            {
                CrystalReports.itemOrderSummarizedReport itemsumrpt = new CrystalReports.itemOrderSummarizedReport();

                itemsumrpt.Database.Tables["itemsumtbl"].SetDataSource(itemsumtbl);
                itemOrderrptViewer.ReportSource = null;
                itemOrderrptViewer.ReportSource = itemsumrpt;
            }
            else
            {
                CrystalReports.itemOrderReport itemrpt = new CrystalReports.itemOrderReport();

                itemrpt.Database.Tables["itemtbl"].SetDataSource(itemtbl);
                itemOrderrptViewer.ReportSource = null;
                itemOrderrptViewer.ReportSource = itemrpt;
            }
        }
        public void ParsingTender()
        {
            var s = DownloadString.DownL(_tn.Href);

            if (string.IsNullOrEmpty(s))
            {
                Log.Logger("Empty string in ParsingTender()", _tn.Href);
                return;
            }

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(s);
            var navigator = (HtmlNodeNavigator)htmlDoc.CreateNavigator();
            var dateUpd   = DateTime.Now;

            _tn.PurNum = (navigator
                          .SelectSingleNode(
                              "//td[contains(., 'Номер закупки') or contains(., 'Номер запроса') or contains(., 'Номер процедуры')]/following-sibling::td/a")
                          ?.Value ?? "").Trim();
            if (string.IsNullOrEmpty(_tn.PurNum))
            {
                _tn.PurNum =
                    (navigator.SelectSingleNode(
                         "//td[contains(., 'Номер закупки') or contains(., 'Номер запроса') or contains(., 'Номер процедуры') or contains(., 'Номер&nbsp;закупки')]/following-sibling::td")
                     ?.Value ?? "").Replace("ЕИС", "").Trim();
            }

            if (string.IsNullOrEmpty(_tn.PurNum))
            {
                Log.Logger("cannot find purNum in ", _tn.Href);
                return;
            }

            var eis = (navigator
                       .SelectSingleNode(
                           "//td[contains(., 'Номер закупки') or contains(., 'Номер запроса') or contains(., 'Номер процедуры')]/following-sibling::td/span/a/acronym")
                       ?.Value ?? "").Trim();

            if (eis.Contains("ЕИС"))
            {
                //Log.Logger("EIS tender", _tn.PurNum);
                return;
            }

            var noticeVersion = (navigator
                                 .SelectSingleNode(
                                     "//td[contains(., 'Состояние лота')]/following-sibling::td")
                                 ?.Value ?? "").Trim();

            using (var connect = ConnectToDb.GetDbConnection())
            {
                connect.Open();
                var selectTend =
                    $"SELECT id_tender FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND end_date = @end_date AND type_fz = @type_fz AND doc_publish_date = @doc_publish_date AND notice_version = @notice_version";
                var cmd = new MySqlCommand(selectTend, connect);
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                cmd.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd.Parameters.AddWithValue("@notice_version", noticeVersion);
                var dt      = new DataTable();
                var adapter = new MySqlDataAdapter {
                    SelectCommand = cmd
                };
                adapter.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    //Log.Logger("This tender is exist in base", PurNum);
                    return;
                }

                var cancelStatus = 0;
                var updated      = false;
                var selectDateT  =
                    $"SELECT id_tender, date_version, cancel FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND type_fz = @type_fz";
                var cmd2 = new MySqlCommand(selectDateT, connect);
                cmd2.Prepare();
                cmd2.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd2.Parameters.AddWithValue("@type_fz", TypeFz);
                var adapter2 = new MySqlDataAdapter {
                    SelectCommand = cmd2
                };
                var dt2 = new DataTable();
                adapter2.Fill(dt2);
                foreach (DataRow row in dt2.Rows)
                {
                    //DateTime dateNew = DateTime.Parse(pr.DatePublished);
                    updated = true;
                    if (dateUpd >= (DateTime)row["date_version"])
                    {
                        row["cancel"] = 1;
                        //row.AcceptChanges();
                        //row.SetModified();
                    }
                    else
                    {
                        cancelStatus = 1;
                    }
                }

                var commandBuilder =
                    new MySqlCommandBuilder(adapter2)
                {
                    ConflictOption = ConflictOption.OverwriteChanges
                };
                adapter2.Update(dt2);
                var printForm   = _tn.Href;
                var customerId  = 0;
                var organiserId = 0;
                if (!string.IsNullOrEmpty(_tn.OrgName))
                {
                    var selectOrg =
                        $"SELECT id_organizer FROM {AppBuilder.Prefix}organizer WHERE full_name = @full_name";
                    var cmd3 = new MySqlCommand(selectOrg, connect);
                    cmd3.Prepare();
                    cmd3.Parameters.AddWithValue("@full_name", _tn.OrgName);
                    var dt3      = new DataTable();
                    var adapter3 = new MySqlDataAdapter {
                        SelectCommand = cmd3
                    };
                    adapter3.Fill(dt3);
                    if (dt3.Rows.Count > 0)
                    {
                        organiserId = (int)dt3.Rows[0].ItemArray[0];
                    }
                    else
                    {
                        var phone         = "";
                        var email         = "";
                        var contactPerson = "";
                        var addOrganizer  =
                            $"INSERT INTO {AppBuilder.Prefix}organizer SET full_name = @full_name, contact_phone = @contact_phone, contact_person = @contact_person, contact_email = @contact_email";
                        var cmd4 = new MySqlCommand(addOrganizer, connect);
                        cmd4.Prepare();
                        cmd4.Parameters.AddWithValue("@full_name", _tn.OrgName);
                        cmd4.Parameters.AddWithValue("@contact_phone", phone);
                        cmd4.Parameters.AddWithValue("@contact_person", contactPerson);
                        cmd4.Parameters.AddWithValue("@contact_email", email);
                        cmd4.ExecuteNonQuery();
                        organiserId = (int)cmd4.LastInsertedId;
                    }
                }

                GetEtp(connect, out var idEtp);
                GetPlacingWay(connect, out var idPlacingWay);
                var biddingDateT = (navigator
                                    .SelectSingleNode(
                                        "//td[span[contains(., 'Начало') and contains(., 'проведения')]]/following-sibling::td/text()[1]")
                                    ?.Value ?? "").Replace("&nbsp;", " ").Trim();
                biddingDateT = Regex.Replace(biddingDateT, @"\s+", " ");
                biddingDateT = biddingDateT.GetDateWithMonth();
                var biddingDate  = biddingDateT.ParseDateUn("dd MM yyyy HH:mm");
                var insertTender =
                    $"INSERT INTO {AppBuilder.Prefix}tender SET id_region = @id_region, id_xml = @id_xml, purchase_number = @purchase_number, doc_publish_date = @doc_publish_date, href = @href, purchase_object_info = @purchase_object_info, type_fz = @type_fz, id_organizer = @id_organizer, id_placing_way = @id_placing_way, id_etp = @id_etp, end_date = @end_date, scoring_date = @scoring_date, bidding_date = @bidding_date, cancel = @cancel, date_version = @date_version, num_version = @num_version, notice_version = @notice_version, xml = @xml, print_form = @print_form";
                var cmd9 = new MySqlCommand(insertTender, connect);
                cmd9.Prepare();
                cmd9.Parameters.AddWithValue("@id_region", 0);
                cmd9.Parameters.AddWithValue("@id_xml", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd9.Parameters.AddWithValue("@href", _tn.Href);
                cmd9.Parameters.AddWithValue("@purchase_object_info", _tn.PurName);
                cmd9.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd9.Parameters.AddWithValue("@id_organizer", organiserId);
                cmd9.Parameters.AddWithValue("@id_placing_way", idPlacingWay);
                cmd9.Parameters.AddWithValue("@id_etp", idEtp);
                cmd9.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                cmd9.Parameters.AddWithValue("@scoring_date", DateTime.MinValue);
                cmd9.Parameters.AddWithValue("@bidding_date", biddingDate);
                cmd9.Parameters.AddWithValue("@cancel", cancelStatus);
                cmd9.Parameters.AddWithValue("@date_version", dateUpd);
                cmd9.Parameters.AddWithValue("@num_version", 1);
                cmd9.Parameters.AddWithValue("@notice_version", noticeVersion);
                cmd9.Parameters.AddWithValue("@xml", _tn.Href);
                cmd9.Parameters.AddWithValue("@print_form", printForm);
                var resInsertTender = cmd9.ExecuteNonQuery();
                var idTender        = (int)cmd9.LastInsertedId;
                Counter(resInsertTender, updated);
                var cusName = (navigator
                               .SelectSingleNode(
                                   "//td[contains(., 'Наименование') and contains(., 'заказчика')]/following-sibling::td")
                               ?.Value ?? "").Replace("&nbsp;", " ").Trim();
                if (!string.IsNullOrEmpty(cusName))
                {
                    var selectCustomer =
                        $"SELECT id_customer FROM {AppBuilder.Prefix}customer WHERE full_name = @full_name";
                    var cmd13 = new MySqlCommand(selectCustomer, connect);
                    cmd13.Prepare();
                    cmd13.Parameters.AddWithValue("@full_name", cusName);
                    var reader7 = cmd13.ExecuteReader();
                    if (reader7.HasRows)
                    {
                        reader7.Read();
                        customerId = (int)reader7["id_customer"];
                        reader7.Close();
                    }
                    else
                    {
                        reader7.Close();
                        var insertCustomer =
                            $"INSERT INTO {AppBuilder.Prefix}customer SET reg_num = @reg_num, full_name = @full_name, is223=1";
                        var cmd14 = new MySqlCommand(insertCustomer, connect);
                        cmd14.Prepare();
                        var customerRegNumber = Guid.NewGuid().ToString();
                        cmd14.Parameters.AddWithValue("@reg_num", customerRegNumber);
                        cmd14.Parameters.AddWithValue("@full_name", cusName);
                        cmd14.ExecuteNonQuery();
                        customerId = (int)cmd14.LastInsertedId;
                    }
                }

                var docs = htmlDoc.DocumentNode.SelectNodes(
                    "//h3/following-sibling::div//table/tbody/tr") ??
                           new HtmlNodeCollection(null);
                foreach (var doc in docs)
                {
                    var nameDd = (doc.SelectSingleNode("./td[1]/a")?.InnerText ?? "").Trim();
                    if (!nameDd.Contains("Извещение"))
                    {
                        continue;
                    }
                    var exp = (doc.SelectSingleNode("./td[2]")?.InnerText ?? "").Trim();
                    if (!exp.Contains("(действующая)"))
                    {
                        continue;
                    }
                    var documents = doc.SelectNodes("./td[4]/div/a") ??
                                    new HtmlNodeCollection(null);
                    foreach (var dd in documents)
                    {
                        var urlAttT = (dd?.Attributes["href"]?.Value ?? "").Trim();
                        var fName   = (dd?.InnerText ?? "").Trim();
                        var urlAtt  = $"https://etp.setonline.ru{urlAttT}";
                        if (!string.IsNullOrEmpty(fName))
                        {
                            var insertAttach =
                                $"INSERT INTO {AppBuilder.Prefix}attachment SET id_tender = @id_tender, file_name = @file_name, url = @url";
                            var cmd10 = new MySqlCommand(insertAttach, connect);
                            cmd10.Prepare();
                            cmd10.Parameters.AddWithValue("@id_tender", idTender);
                            cmd10.Parameters.AddWithValue("@file_name", fName);
                            cmd10.Parameters.AddWithValue("@url", urlAtt);
                            cmd10.ExecuteNonQuery();
                        }
                    }
                }

                var lotNum    = 1;
                var insertLot =
                    $"INSERT INTO {AppBuilder.Prefix}lot SET id_tender = @id_tender, lot_number = @lot_number, max_price = @max_price, currency = @currency, finance_source = @finance_source";
                var cmd18 = new MySqlCommand(insertLot, connect);
                cmd18.Prepare();
                cmd18.Parameters.AddWithValue("@id_tender", idTender);
                cmd18.Parameters.AddWithValue("@lot_number", lotNum);
                cmd18.Parameters.AddWithValue("@max_price", _tn.Nmck);
                cmd18.Parameters.AddWithValue("@currency", _tn.Currency);
                cmd18.Parameters.AddWithValue("@finance_source", "");
                cmd18.ExecuteNonQuery();
                var idLot         = (int)cmd18.LastInsertedId;
                var insertLotitem =
                    $"INSERT INTO {AppBuilder.Prefix}purchase_object SET id_lot = @id_lot, id_customer = @id_customer, name = @name, sum = @sum";
                var cmd19 = new MySqlCommand(insertLotitem, connect);
                cmd19.Prepare();
                cmd19.Parameters.AddWithValue("@id_lot", idLot);
                cmd19.Parameters.AddWithValue("@id_customer", customerId);
                cmd19.Parameters.AddWithValue("@name", _tn.PurName);
                cmd19.Parameters.AddWithValue("@sum", _tn.Nmck);
                cmd19.ExecuteNonQuery();
                TenderKwords(connect, idTender);
                AddVerNumber(connect, _tn.PurNum, TypeFz);
            }
        }
示例#18
0
        /// <summary>
        /// 批量更新设备在线状态    需修改语法
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public bool UpdateSrvEquipmentStatusBatch(DataTable dt)
        {
            if (dt == null || dt.Rows.Count == 0)
            {
                return(false);
            }

            MySqlDataAdapter sd        = null;
            DataTable        dataTable = new DataTable();
            int reslut = -1;

            try
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                // sd = new MySqlDataAdapter("SELECT SRV_ID,SRV_RMT_TIME,SRV_RMT_STATUS,SRV_PHYSICAL_CODE FROM Srv WITH(NOLOCK)", conn);
                sd = new MySqlDataAdapter("SELECT SRV_ID,SRV_RMT_TIME,SRV_RMT_STATUS,SRV_PHYSICAL_CODE FROM Srv", conn);
                MySqlCommandBuilder scb = new MySqlCommandBuilder(sd);
                sd.UpdateCommand = scb.GetUpdateCommand();
                sd.UpdateCommand = new MySqlCommand("update Srv set SRV_RMT_TIME=@SRV_RMT_TIME, SRV_RMT_STATUS=@SRV_RMT_STATUS where SRV_PHYSICAL_CODE=@SRV_PHYSICAL_CODE", conn);
                sd.UpdateCommand.Parameters.Add("@SRV_RMT_TIME", MySqlDbType.DateTime, 6, "SRV_RMT_TIME");
                sd.UpdateCommand.Parameters.Add("@SRV_RMT_STATUS", MySqlDbType.VarChar, 255, "SRV_RMT_STATUS");
                sd.UpdateCommand.Parameters.Add("@SRV_PHYSICAL_CODE", MySqlDbType.VarChar, 255, "SRV_PHYSICAL_CODE");
                sd.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;


                sd.UpdateBatchSize = 0;
                sd.Fill(dataTable);


                if (dataTable.Rows.Count > 0)//添加于20180116  SRV表中的数据来源?
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        dataTable.Rows[i].BeginEdit();
                        var rows = dataTable.Select("SRV_PHYSICAL_CODE='" + dt.Rows[i]["srv_physical_code"] + "'");
                        if (rows != null && rows.Length > 0)
                        {
                            rows[0]["SRV_RMT_TIME"]   = DateTime.Parse(dt.Rows[i]["srv_time"].ToString());
                            rows[0]["SRV_RMT_STATUS"] = "在线";
                        }
                        dataTable.Rows[i].EndEdit();
                    }
                    reslut = sd.Update(dataTable);
                }
            }
            catch (Exception ex)
            {
                log.Error("批量更新设备在线状态发生异常", ex);
            }
            finally
            {
                dataTable.Clear();
                sd.Dispose();
                dataTable.Dispose();
                conn.Close();
            }
            return(reslut != -1);
        }
示例#19
0
        //상품 주문 버튼
        private void btnPdOrder_Click(object sender, EventArgs e)
        {
            string          constring     = "datasource=localhost; database=smartcart; username=root; password=apmsetup";
            string          QueryPdOrder1 = "SELECT * FROM product WHERE name = '" + cbBoxPdName.SelectedItem + "'";
            string          sQuantity     = null;
            string          PdQuantity    = null;
            MySqlConnection PdconDB1      = new MySqlConnection(constring);
            MySqlCommand    PdcmdDB1      = new MySqlCommand(QueryPdOrder1, PdconDB1);
            MySqlDataReader myreader1;

            try
            {
                PdconDB1.Open();
                myreader1 = PdcmdDB1.ExecuteReader();
                while (myreader1.Read())
                {
                    sQuantity  = myreader1.GetString("quantity");
                    PdQuantity = textPdQuantity.Text;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + 11);
            }

            string          QueryPdOrder2 = "UPDATE product SET quantity = " + (Convert.ToInt32(sQuantity) + Convert.ToInt32(PdQuantity)) + " WHERE name = '" + cbBoxPdName.SelectedItem + "'";
            MySqlConnection PdconDB2      = new MySqlConnection(constring);
            MySqlCommand    PdcmdDB2      = new MySqlCommand(QueryPdOrder2, PdconDB2);
            MySqlDataReader myreader2;

            try
            {
                PdconDB2.Open();
                myreader2 = PdcmdDB2.ExecuteReader();
                MySqlDataAdapter    adapter = new MySqlDataAdapter(QueryPdOrder2, PdconDB2);
                MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + 33);
            }

            // 주문 시 입고내역 데이터베이스에 추가
            string          QueryPdOrder3 = "INSERT INTO inbound (product, quantity, date) VALUES ('" + cbBoxPdName.SelectedItem + "', '" + PdQuantity + "', '" + "2020-03-17')";
            MySqlConnection PdconDB3      = new MySqlConnection(constring);
            MySqlCommand    PdcmdDB3      = new MySqlCommand(QueryPdOrder3, PdconDB3);
            MySqlDataReader myreader3;

            try
            {
                PdconDB3.Open();
                myreader3 = PdcmdDB3.ExecuteReader();
                MySqlDataAdapter    adapter1 = new MySqlDataAdapter(QueryPdOrder3, PdconDB3);
                MySqlCommandBuilder builder1 = new MySqlCommandBuilder(adapter1);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            cbBoxPdName.SelectedIndex = -1;
            textPdQuantity.Text       = "";
            MessageBox.Show("주문되었습니다.", "관리자");
        }
示例#20
0
        public void ParsingTender()
        {
            using (var connect = ConnectToDb.GetDbConnection())
            {
                var dateUpd = DateTime.Now;
                connect.Open();
                var selectTend =
                    $"SELECT id_tender FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND type_fz = @type_fz AND doc_publish_date = @doc_publish_date AND end_date = @end_date";
                var cmd = new MySqlCommand(selectTend, connect);
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                var dt      = new DataTable();
                var adapter = new MySqlDataAdapter {
                    SelectCommand = cmd
                };
                adapter.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    return;
                }

                var s = DownloadString.DownLHttpPostWithCookiesAll(_tn.Href, ParserSpgr.HttpsT2Federal1Ru,
                                                                   ParserSpgr.Cookies);
                if (string.IsNullOrEmpty(s))
                {
                    Log.Logger(
                        $"Empty string in {GetType().Name}.{System.Reflection.MethodBase.GetCurrentMethod().Name}",
                        _tn.Href);
                    return;
                }

                var htmlDoc = new HtmlDocument();
                htmlDoc.LoadHtml(s);
                var navigator    = (HtmlNodeNavigator)htmlDoc.CreateNavigator();
                var cancelStatus = 0;
                var updated      = false;
                var selectDateT  =
                    $"SELECT id_tender, date_version, cancel FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND type_fz = @type_fz";
                var cmd2 = new MySqlCommand(selectDateT, connect);
                cmd2.Prepare();
                cmd2.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd2.Parameters.AddWithValue("@type_fz", TypeFz);
                var adapter2 = new MySqlDataAdapter {
                    SelectCommand = cmd2
                };
                var dt2 = new DataTable();
                adapter2.Fill(dt2);
                foreach (DataRow row in dt2.Rows)
                {
                    updated = true;
                    if (dateUpd >= (DateTime)row["date_version"])
                    {
                        row["cancel"] = 1;
                        //row.AcceptChanges();
                        //row.SetModified();
                    }
                    else
                    {
                        cancelStatus = 1;
                    }
                }

                var commandBuilder =
                    new MySqlCommandBuilder(adapter2)
                {
                    ConflictOption = ConflictOption.OverwriteChanges
                };
                adapter2.Update(dt2);
                var customerId  = 0;
                var organiserId = 0;
                var orgName     =
                    navigator.SelectSingleNode("//td[contains(., 'Предприятие-инициатор:')]/following-sibling::td")
                    ?.Value?.Trim() ?? "";
                if (!string.IsNullOrEmpty(orgName))
                {
                    var selectOrg =
                        $"SELECT id_organizer FROM {AppBuilder.Prefix}organizer WHERE full_name = @full_name";
                    var cmd3 = new MySqlCommand(selectOrg, connect);
                    cmd3.Prepare();
                    cmd3.Parameters.AddWithValue("@full_name", orgName);
                    var dt3      = new DataTable();
                    var adapter3 = new MySqlDataAdapter {
                        SelectCommand = cmd3
                    };
                    adapter3.Fill(dt3);
                    if (dt3.Rows.Count > 0)
                    {
                        organiserId = (int)dt3.Rows[0].ItemArray[0];
                    }
                    else
                    {
                        var phone = navigator.SelectSingleNode("//td[contains(., 'Телефон:')]/following-sibling::td")
                                    ?.Value?.Trim() ?? "";
                        var email         = "";
                        var contactPerson =
                            navigator.SelectSingleNode(
                                "//td[contains(., 'Ответственный за размещение лота:')]/following-sibling::td")
                            ?.Value
                            ?.Trim() ?? "";
                        var addOrganizer =
                            $"INSERT INTO {AppBuilder.Prefix}organizer SET full_name = @full_name, contact_phone = @contact_phone, contact_person = @contact_person, contact_email = @contact_email";
                        var cmd4 = new MySqlCommand(addOrganizer, connect);
                        cmd4.Prepare();
                        cmd4.Parameters.AddWithValue("@full_name", orgName);
                        cmd4.Parameters.AddWithValue("@contact_phone", phone);
                        cmd4.Parameters.AddWithValue("@contact_person", contactPerson);
                        cmd4.Parameters.AddWithValue("@contact_email", email);
                        cmd4.ExecuteNonQuery();
                        organiserId = (int)cmd4.LastInsertedId;
                    }
                }

                GetEtp(connect, out var idEtp);
                PlacingWay = navigator.SelectSingleNode("//b[contains(., 'Тип лота: ')]/span")?.Value?.Trim() ?? "";
                GetPlacingWay(connect, out var idPlacingWay);
                var printForm    = _tn.Href;
                var insertTender =
                    $"INSERT INTO {AppBuilder.Prefix}tender SET id_region = @id_region, id_xml = @id_xml, purchase_number = @purchase_number, doc_publish_date = @doc_publish_date, href = @href, purchase_object_info = @purchase_object_info, type_fz = @type_fz, id_organizer = @id_organizer, id_placing_way = @id_placing_way, id_etp = @id_etp, end_date = @end_date, scoring_date = @scoring_date, bidding_date = @bidding_date, cancel = @cancel, date_version = @date_version, num_version = @num_version, notice_version = @notice_version, xml = @xml, print_form = @print_form";
                var cmd9 = new MySqlCommand(insertTender, connect);
                cmd9.Prepare();
                cmd9.Parameters.AddWithValue("@id_region", 0);
                cmd9.Parameters.AddWithValue("@id_xml", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd9.Parameters.AddWithValue("@href", _tn.Href);
                cmd9.Parameters.AddWithValue("@purchase_object_info", _tn.PurName);
                cmd9.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd9.Parameters.AddWithValue("@id_organizer", organiserId);
                cmd9.Parameters.AddWithValue("@id_placing_way", idPlacingWay);
                cmd9.Parameters.AddWithValue("@id_etp", idEtp);
                cmd9.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                cmd9.Parameters.AddWithValue("@scoring_date", DateTime.MinValue);
                cmd9.Parameters.AddWithValue("@bidding_date", DateTime.MinValue);
                cmd9.Parameters.AddWithValue("@cancel", cancelStatus);
                cmd9.Parameters.AddWithValue("@date_version", dateUpd);
                cmd9.Parameters.AddWithValue("@num_version", 1);
                cmd9.Parameters.AddWithValue("@notice_version", "");
                cmd9.Parameters.AddWithValue("@xml", _tn.Href);
                cmd9.Parameters.AddWithValue("@print_form", printForm);
                var resInsertTender = cmd9.ExecuteNonQuery();
                var idTender        = (int)cmd9.LastInsertedId;
                Counter(resInsertTender, updated);
                if (!string.IsNullOrEmpty(orgName))
                {
                    var selectCustomer =
                        $"SELECT id_customer FROM {AppBuilder.Prefix}customer WHERE full_name = @full_name";
                    var cmd13 = new MySqlCommand(selectCustomer, connect);
                    cmd13.Prepare();
                    cmd13.Parameters.AddWithValue("@full_name", orgName);
                    var reader7 = cmd13.ExecuteReader();
                    if (reader7.HasRows)
                    {
                        reader7.Read();
                        customerId = (int)reader7["id_customer"];
                        reader7.Close();
                    }
                    else
                    {
                        reader7.Close();
                        var insertCustomer =
                            $"INSERT INTO {AppBuilder.Prefix}customer SET reg_num = @reg_num, full_name = @full_name, is223=1";
                        var cmd14 = new MySqlCommand(insertCustomer, connect);
                        cmd14.Prepare();
                        var customerRegNumber = Guid.NewGuid().ToString();
                        cmd14.Parameters.AddWithValue("@reg_num", customerRegNumber);
                        cmd14.Parameters.AddWithValue("@full_name", orgName);
                        cmd14.ExecuteNonQuery();
                        customerId = (int)cmd14.LastInsertedId;
                    }
                }

                AddAttachments(htmlDoc, connect, idTender);
                AddLots(htmlDoc, connect, idTender, customerId);
                TenderKwords(connect, idTender);
                AddVerNumber(connect, _tn.PurNum, TypeFz);
            }
        }
示例#21
0
 /// <summary>
 /// Retrieves parameter information from the stored procedure specified in the <see cref="DbCommand"/> and populates the Parameters collection of the specified <see cref="DbCommand"/> object.
 /// </summary>
 /// <param name="discoveryCommand">The <see cref="DbCommand"/> to do the discovery.</param>
 /// <remarks>The <see cref="DbCommand"/> must be a <see cref="SqlCommand"/> instance.</remarks>
 protected override void DeriveParameters(System.Data.Common.DbCommand discoveryCommand)
 {
     MySqlCommandBuilder.DeriveParameters((MySqlCommand)discoveryCommand);
 }
        //pizza and hot drinks
        private void button8_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            if (tablecheck == 2)
            {
                //pizza
                try
                {
                    //this code recieves a list of items, descriptions and prices from the server.
                    //each line of the server table is put into listBox1 in the following order:
                    // meal name
                    // description
                    // price
                    string              myConnection  = conection;
                    MySqlConnection     myConn        = new MySqlConnection(myConnection);
                    MySqlDataAdapter    myDataAdapter = new MySqlDataAdapter();
                    MySqlCommand        comand        = new MySqlCommand("select * from demo.menu_item where Item_Type = 'Pizza' ;", myConn);
                    MySqlCommandBuilder cb            = new MySqlCommandBuilder(myDataAdapter);
                    myConn.Open();

                    MySqlDataReader reader = comand.ExecuteReader();

                    while (reader.Read())
                    {
                        listBox1.Items.Add(reader.GetString(1));
                        listBox1.Items.Add(reader.GetString(2));
                        listBox1.Items.Add(reader.GetString(6));
                    }
                    myConn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            else if (tablecheck == 4)
            {
                //hot drinks
                try
                {
                    string           myConnection  = conection;
                    MySqlConnection  myConn        = new MySqlConnection(myConnection);
                    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                    //myDataAdapter.SelectCommand = new MySqlCommand("select Table_ID from demo.table where Table_Status = 'Available' and Seat_Numbers = '" + searchValue.ToString() + "'", myConn);
                    MySqlCommand        comand = new MySqlCommand("select * from demo.menu_item where Item_Type = 'Hot Drinks' ;", myConn);
                    MySqlCommandBuilder cb     = new MySqlCommandBuilder(myDataAdapter);
                    myConn.Open();

                    MySqlDataReader reader = comand.ExecuteReader();

                    while (reader.Read())
                    {
                        listBox1.Items.Add(reader.GetString(1));
                        listBox1.Items.Add(reader.GetString(2));
                        listBox1.Items.Add(reader.GetString(6));
                    }
                    myConn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        public void UpdateDecimalColumns()
        {
            execSQL("CREATE TABLE Test (id int not null auto_increment primary key, " +
                "dec1 decimal(10,1))");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow row = dt.NewRow();
            row["id"] = DBNull.Value;
            row["dec1"] = 23.4;
            dt.Rows.Add(row);
            da.Update(dt);

            dt.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual(1, dt.Rows[0]["id"]);
            Assert.AreEqual(23.4, dt.Rows[0]["dec1"]);
            cb.Dispose();
        }
        //starters, sides nad sundaes
        private void button11_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            if (tablecheck == 1)
            {
                //starters
                try
                {
                    string           myConnection  = conection;
                    MySqlConnection  myConn        = new MySqlConnection(myConnection);
                    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                    //myDataAdapter.SelectCommand = new MySqlCommand("select Table_ID from demo.table where Table_Status = 'Available' and Seat_Numbers = '" + searchValue.ToString() + "'", myConn);
                    MySqlCommand        comand = new MySqlCommand("select * from demo.menu_item where Item_Type = 'Starters' ;", myConn);
                    MySqlCommandBuilder cb     = new MySqlCommandBuilder(myDataAdapter);
                    myConn.Open();

                    MySqlDataReader reader = comand.ExecuteReader();

                    while (reader.Read())
                    {
                        listBox1.Items.Add(reader.GetString(1));
                        listBox1.Items.Add(reader.GetString(2));
                        listBox1.Items.Add(reader.GetString(6));
                    }
                    myConn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (tablecheck == 2)
            {
                //sides
                try
                {
                    string           myConnection  = conection;
                    MySqlConnection  myConn        = new MySqlConnection(myConnection);
                    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                    //myDataAdapter.SelectCommand = new MySqlCommand("select Table_ID from demo.table where Table_Status = 'Available' and Seat_Numbers = '" + searchValue.ToString() + "'", myConn);
                    MySqlCommand        comand = new MySqlCommand("select * from demo.menu_item where Item_Type = 'Sides' ;", myConn);
                    MySqlCommandBuilder cb     = new MySqlCommandBuilder(myDataAdapter);
                    myConn.Open();

                    MySqlDataReader reader = comand.ExecuteReader();

                    while (reader.Read())
                    {
                        listBox1.Items.Add(reader.GetString(1));
                        listBox1.Items.Add(reader.GetString(2));
                        listBox1.Items.Add(reader.GetString(6));
                    }
                    myConn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (tablecheck == 3)
            {
                //sundaes
                try
                {
                    string           myConnection  = conection;
                    MySqlConnection  myConn        = new MySqlConnection(myConnection);
                    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                    //myDataAdapter.SelectCommand = new MySqlCommand("select Table_ID from demo.table where Table_Status = 'Available' and Seat_Numbers = '" + searchValue.ToString() + "'", myConn);
                    MySqlCommand        comand = new MySqlCommand("select * from demo.menu_item where Item_Type = 'Gelato Sundaes' ;", myConn);
                    MySqlCommandBuilder cb     = new MySqlCommandBuilder(myDataAdapter);
                    myConn.Open();

                    MySqlDataReader reader = comand.ExecuteReader();

                    while (reader.Read())
                    {
                        listBox1.Items.Add(reader.GetString(1));
                        listBox1.Items.Add(reader.GetString(2));
                        listBox1.Items.Add(reader.GetString(6));
                    }
                    myConn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        public void InsertDateTimeValue()
        {
            using (MySqlConnection c = new MySqlConnection(conn.ConnectionString +
                ";allow zero datetime=yes"))
            {
                c.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, dt FROM Test", c);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da);

                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("id", typeof(int)));
                dt.Columns.Add(new DataColumn("dt", typeof(DateTime)));

                da.Fill(dt);

                DateTime now = DateTime.Now;
                DataRow row = dt.NewRow();
                row["id"] = 1;
                row["dt"] = now;
                dt.Rows.Add(row);
                da.Update(dt);

                dt.Clear();
                da.Fill(dt);
                cb.Dispose();

                Assert.AreEqual(1, dt.Rows.Count);
                Assert.AreEqual(now.Date, ((DateTime)dt.Rows[0]["dt"]).Date);
            }
        }
示例#26
0
        //查询功能
        private void btnSearch_Click(object sender, EventArgs e)
        {
            //string datetime = dateTimePicker1.Text;
            int    num          = Convert.ToInt32(numericUpDown1.Value);
            string Device_Code  = comboBoxDevice_Code.Text; //取出设备编号
            string projiectName = comboBoxProjectName.Text; //取出工地名称

            if (chBoxAllDevice.Checked == true)             //如果全部设备被选中
            {
                if (chkSearchByDate.Checked)                //如果选中按照时间查询,则按照时间查询(默认按照时间查询被选中)
                {
                    bindDateWhereall();
                }
                else//否则查询所有的,没有任何条件
                {
                    bindgvwAll();
                }
            }
            else//否则就是按照时间和两个commbox来查询
            {
                if (chkSearchByDate.Checked == true)//如果选中时间查询就做时间,和两个下拉框的查询
                {
                    bindgvwAllByDate();
                }
                else//否则就是做两个下拉框的模糊查询
                {
                    if (Device_Code == "" && projiectName == "")
                    {
                        MessageBox.Show("请输入正确的关键字");
                        bindgvwAll();
                        return;
                    }
                    else if (projiectName == "")
                    {
                        string sqlString = "SELECT a.`Device_Code` as '设备编号',a.`Date` as '时间',a.`Dust` as '粉尘',a.`Noise` as '噪音',b.Project_Name as '工地名称' FROM `tb_project` b INNER JOIN `tb_monitordata01` a on a.`Project_ID`=b.`Project_ID` where a.`Device_Code`like '%" + Device_Code + "%' limit " + num + "";

                        using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                        {
                            MySqlDataAdapter    adapter        = new MySqlDataAdapter(sqlString, connPi);
                            MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                            DataTable           table          = new DataTable();
                            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                            adapter.Fill(table);
                            gvwAll.DataSource            = mySourceQueryData;
                            mySourceQueryData.DataSource = table;
                            gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                        }
                    }
                    else if (Device_Code == "")
                    {
                        string sqlString = "SELECT a.`Device_Code` as '设备编号',a.`Date` as '时间',a.`Dust` as '粉尘',a.`Noise` as '噪音',b.Project_Name as '工地名称' FROM `tb_project` b INNER JOIN `tb_monitordata01` a on a.`Project_ID`=b.`Project_ID` where b.`Project_Name`like '%" + projiectName + "%' limit " + num + "";

                        using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                        {
                            MySqlDataAdapter    adapter        = new MySqlDataAdapter(sqlString, connPi);
                            MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                            DataTable           table          = new DataTable();
                            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                            adapter.Fill(table);
                            gvwAll.DataSource            = mySourceQueryData;
                            mySourceQueryData.DataSource = table;
                            gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                        }
                    }
                    else
                    {
                        string sqlString = "SELECT a.`Device_Code` as '设备编号',a.`Date` as '时间',a.`Dust` as '粉尘',a.`Noise` as '噪音',b.Project_Name as '工地名称' FROM `tb_project` b INNER JOIN `tb_monitordata01` a on a.`Project_ID`=b.`Project_ID` where b.`Project_Name`like '%" + projiectName + "%' and a.`Device_Code`like '%" + Device_Code + "%' limit " + num + "";
                        using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                        {
                            MySqlDataAdapter    adapter        = new MySqlDataAdapter(sqlString, connPi);
                            MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                            DataTable           table          = new DataTable();
                            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                            adapter.Fill(table);
                            gvwAll.DataSource            = mySourceQueryData;
                            mySourceQueryData.DataSource = table;
                            gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                        }
                    }
                }
            }
        }
        public void NotLastOneWins()
        {
            execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), dt DATETIME, tm TIME,  `multi word` int, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test (id, name) VALUES (1, 'Test')");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ConflictOption = ConflictOption.CompareAllSearchableValues;
            DataTable dt = new DataTable();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);

            execSQL("UPDATE Test SET name='Test2' WHERE id=1");

            try
            {
                dt.Rows[0]["name"] = "Test3";
                da.Update(dt);
                Assert.Fail("This should not work");
            }
            catch (DBConcurrencyException)
            {
            }

            dt.Rows.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("Test2", dt.Rows[0]["name"]);
        }
示例#28
0
        private void btnnSearch_Click(object sender, EventArgs e)
        {
            string Device_Code = comboBoxDevice_Code.Text;
            string ProjectName = comboBoxProjectName.Text;


            string timeBegin = dateTimePicker1.Value.ToShortDateString() + " " + dateTimePicker2.Value.ToShortTimeString();
            string timeEnd   = dateTimePicker3.Value.ToShortDateString() + " " + dateTimePicker4.Value.ToShortTimeString();

            if (chkSearchByDate.Checked == true && chBoxAllDevice.Checked == true && chkhour.Checked == true)
            {
                string sql = "select a.device_code as '设备编号',b.project_Name as '工地名称',count(*) as '总数据',COUNT(IF(a.Dust>0,1, NULL)) as '粉尘',avg(Dust) as '粉尘平均值',min(Dust) as '粉尘最小值',max(Dust) as '粉尘最大值', COUNT(IF(a.Noise>0,1, NULL)) as '噪声',avg(Noise) as '噪音平均值',min(Noise) as '噪音最小值',max(Noise) as '噪音最大值' from `tb_monitordata01` a inner join `tb_project` b on a.project_id=b.project_id where a.date between '" + timeBegin + "' and '" + timeEnd + "'";
                using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                {
                    MySqlDataAdapter    adapter        = new MySqlDataAdapter(sql, connPi);
                    MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                    DataTable           table          = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
                    gvwAll.DataSource            = mySourceQueryData;
                    mySourceQueryData.DataSource = table;
                    gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                }
            }
            else if (chkSearchByDate.Checked == true && chBoxAllDevice.Checked == false && chkhour.Checked == true)
            {
                string sql = "select a.device_code as '设备编号',b.project_Name as '工地名称',count(*) as '总数据',COUNT(IF(a.Dust>0,1, NULL)) as '粉尘',avg(Dust) as '粉尘平均值',min(Dust) as '粉尘最小值',max(Dust) as '粉尘最大值', COUNT(IF(a.Noise>0,1, NULL)) as '噪声',avg(Noise) as '噪音平均值',min(Noise) as '噪音最小值',max(Noise) as '噪音最大值' from `tb_monitordata01` a inner join `tb_project` b on a.project_id=b.project_id where a.Device_code='" + Device_Code + "' AND b.project_Name='" + ProjectName + "' and  a.date between '" + timeBegin + "' and '" + timeEnd + "'";
                using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                {
                    MySqlDataAdapter    adapter        = new MySqlDataAdapter(sql, connPi);
                    MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                    DataTable           table          = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
                    gvwAll.DataSource            = mySourceQueryData;
                    mySourceQueryData.DataSource = table;
                    gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                }
            }
            else if (chkSearchByDate.Checked == true && chBoxAllDevice.Checked == true && chkday.Checked == true)
            {
                string starthour = dateTimePicker1.Value.ToString();
                string endhour   = dateTimePicker3.Value.ToString();

                string sql = "select a.device_code as '设备编号',b.project_Name as '工地名称',count(*) as '总数据',COUNT(IF(a.Dust>0,1, NULL)) as '粉尘',avg(Dust) as '粉尘平均值',min(Dust) as '粉尘最小值',max(Dust) as '粉尘最大值', COUNT(IF(a.Noise>0,1, NULL)) as '噪声',avg(Noise) as '噪音平均值',min(Noise) as '噪音最小值',max(Noise) as '噪音最大值' from `tb_monitordata01` a inner join `tb_project` b on a.project_id=b.project_id where a.date between '" + starthour + "' and '" + endhour + "'";
                using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                {
                    MySqlDataAdapter    adapter        = new MySqlDataAdapter(sql, connPi);
                    MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                    DataTable           table          = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
                    gvwAll.DataSource            = mySourceQueryData;
                    mySourceQueryData.DataSource = table;
                    gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                }
            }
            else if (chkSearchByDate.Checked == true && chBoxAllDevice.Checked == false && chkday.Checked == true)
            {
                string starthour = dateTimePicker1.Value.ToString();
                string endhour   = dateTimePicker3.Value.ToString();

                string sql = "select a.device_code as '设备编号',b.project_Name as '工地名称',count(*) as '总数据',COUNT(IF(a.Dust>0,1, NULL)) as '粉尘',avg(Dust) as '粉尘平均值',min(Dust) as '粉尘最小值',max(Dust) as '粉尘最大值', COUNT(IF(a.Noise>0,1, NULL)) as '噪声',avg(Noise) as '噪音平均值',min(Noise) as '噪音最小值',max(Noise) as '噪音最大值' from `tb_monitordata01` a inner join `tb_project` b on a.project_id=b.project_id where a.Device_code='" + Device_Code + "' AND b.project_Name='" + ProjectName + "' and  a.date between '" + timeBegin + "' and '" + timeEnd + "'";
                using (MySqlConnection connPi = new MySqlConnection(serverConnectionString))
                {
                    MySqlDataAdapter    adapter        = new MySqlDataAdapter(sql, connPi);
                    MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
                    DataTable           table          = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
                    gvwAll.DataSource            = mySourceQueryData;
                    mySourceQueryData.DataSource = table;
                    gvwAll.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                }
            }
        }
        public void UpdatingWithDateInKey()
        {
            execSQL("CREATE TABLE Test (cod INT, dt DATE, PRIMARY KEY(cod, dt))");

            execSQL("INSERT INTO Test (cod, dt) VALUES (1, '2006-1-1')");
            execSQL("INSERT INTO Test (cod, dt) VALUES (2, '2006-1-2')");
            execSQL("INSERT INTO Test (cod, dt) VALUES (3, '2006-1-3')");
            execSQL("INSERT INTO Test (cod, dt) VALUES (4, '2006-1-4')");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test ORDER BY cod", conn);
            MySqlCommandBuilder bld = new MySqlCommandBuilder(da);
            bld.ConflictOption = ConflictOption.OverwriteChanges;
            DataTable dt = new DataTable();
            da.Fill(dt);
            dt.Rows[0]["cod"] = 6;
            da.Update(dt);

            dt.Clear();
            da.SelectCommand.CommandText = "SELECT * FROM Test WHERE cod=6";
            da.Fill(dt);
            Assert.AreEqual(6, dt.Rows[0]["cod"]);
        }
示例#30
0
        private void GetData()
        {
            try
            {
                //string connectionString = "Data Source='IT-PC\\SQLEXPRESS';Initial Catalog=Personalia;User ID=itmis;Password=itmis"; //ConfigurationManager.AppSettings["connectionString"];
                MySqlConnection connection = new MySqlConnection(GlobalVariables.strCon);

                // Create a DataSet.
                data = new DataSet();

                // Add data from the Customers table to the DataSet.
                masterDataAdapter = new
                                    MySqlDataAdapter("select * from tblcutt where STYLEID='" + txtStyleID.Text + "' AND COLORID='" + txtColorID.Text + "'", connection);

                // masterDataAdapter.TableMappings.Add("Orders", "tblcutt");
                masterDataAdapter.Fill(data, "tblcutt");
                sqlCommandBuilder = new MySqlCommandBuilder(masterDataAdapter);

                // detail

                if (data.Tables[0].Rows.Count == 0)
                {
                    string cutno;
                    cutno = "";
                    detailsDataAdapter = new
                                         MySqlDataAdapter("select * from tblcuttdetail where CUTNO='" + cutno + "'", connection);
                    detailsDataAdapter.Fill(data, "tblcuttdetail");
                }


                for (int i = 0; i < data.Tables[0].Rows.Count; i++)
                {
                    string cutno;
                    cutno = Convert.ToString(data.Tables[0].Rows[i]["CUTNO"]);
                    detailsDataAdapter = new
                                         MySqlDataAdapter("select * from tblcuttdetail where CUTNO='" + cutno + "'", connection);
                    detailsDataAdapter.Fill(data, "tblcuttdetail");
                }

                sqlCommandBuilder = new MySqlCommandBuilder(detailsDataAdapter);

                // Establish a relationship between the two tables.
                DataRelation relation = new DataRelation("tblcuttdetail",
                                                         data.Tables["tblcutt"].Columns["CUTNO"],
                                                         data.Tables["tblcuttdetail"].Columns["CUTNO"]);
                data.Relations.Add(relation);

                // Bind the master data connector to the Customers table.
                masterBindingSource.DataSource = data;
                masterBindingSource.DataMember = "tblcutt";

                // Nav.BindingSource = masterBindingSource;

                // Bind the details data connector to the master data connector,
                // using the DataRelation name to filter the information in the
                // details table based on the current row in the master table.
                detailsBindingSource.DataSource = masterBindingSource;
                detailsBindingSource.DataMember = "tblcuttdetail";


                //combo size

                //Month Data Source

                string selectQueryStringSize = "SELECT SIZEID FROM tblproductionsize";

                MySqlDataAdapter    sqlDataAdapterSize    = new MySqlDataAdapter(selectQueryStringSize, connection);
                MySqlCommandBuilder sqlCommandBuilderSize = new MySqlCommandBuilder(sqlDataAdapterSize);

                DataTable dataTableMonth = new DataTable();
                sqlDataAdapterSize.Fill(dataTableMonth);
                BindingSource bindingSourceSize = new BindingSource();
                bindingSourceSize.DataSource = dataTableMonth;

                // end combo size
                detailsDataGridView.Columns.Clear();

                DataGridViewComboBoxColumn Columnsize = new DataGridViewComboBoxColumn();
                Columnsize.DataPropertyName = "SIZEID";
                Columnsize.HeaderText       = "SIZEID";
                Columnsize.Width            = 120;

                Columnsize.DataSource    = bindingSourceSize;
                Columnsize.ValueMember   = "SIZEID";
                Columnsize.DisplayMember = "SIZEID";
                detailsDataGridView.Columns.Add(Columnsize);
                // combo
                //Adding  Year TextBox

                DataGridViewTextBoxColumn ColumnYear = new DataGridViewTextBoxColumn();
                ColumnYear.HeaderText       = "QTY";
                ColumnYear.Width            = 80;
                ColumnYear.DataPropertyName = "QTY";

                detailsDataGridView.Columns.Add(ColumnYear);

                //


                //tambahan

                /*
                 * txtOrder.DataBindings.Clear();
                 * txtDate.DataBindings.Clear();
                 * txtRemarks.DataBindings.Clear();
                 * txtSupplierID.DataBindings.Clear();
                 *
                 * txtOrder.DataBindings.Add(new Binding("Text", masterBindingSource, "OrderID", true, DataSourceUpdateMode.OnPropertyChanged));
                 * txtDate.DataBindings.Add(new Binding("Text", masterBindingSource, "Date", true, DataSourceUpdateMode.OnPropertyChanged));
                 * txtRemarks.DataBindings.Add(new Binding("Text", masterBindingSource, "Remarks", true, DataSourceUpdateMode.OnPropertyChanged));
                 * txtSupplierID.DataBindings.Add(new Binding("Text", masterBindingSource, "SupplierID", true, DataSourceUpdateMode.OnPropertyChanged));
                 */
                //txtOrder.DataBindings.Add(new Binding("Text", masterBindingSource, "OrderID", true));
            }
            catch (MySqlException)
            {
                MessageBox.Show("To run this example, replace the value of the " +
                                "connectionString variable with a connection string that is " +
                                "valid for your system.");
            }
        }
示例#31
0
        // Oppdater en rad med en spesifikk primærnøkkel i en angitt tabell
        public static bool UpdateRow(string tableName, string primaryKey, DataRow rowData)
        {
            if (!initialized || (!usingLocalDatabase && !CheckConnection()))
            {
                return(false);
            }

            DataRow selectedRow = null;

            if (tableName == "booking")
            {
                selectedRow = bookingTable.Rows.Find(primaryKey);
                selectedRow.BeginEdit();
                selectedRow = rowData;
                selectedRow.EndEdit();

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daBooking);
                    daBooking.Update(ds, "booking");
                }
            }
            else if (tableName == "ansatte")
            {
                selectedRow = employeesTable.Rows.Find(primaryKey);
                selectedRow.BeginEdit();
                selectedRow = rowData;
                selectedRow.EndEdit();

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daEmployees);
                    daEmployees.Update(ds, "ansatte");
                }
            }
            else if (tableName == "bestillinger")
            {
                selectedRow = ordersTable.Rows.Find(primaryKey);
                selectedRow.BeginEdit();
                selectedRow = rowData;
                selectedRow.EndEdit();

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daOrders);
                    daOrders.Update(ds, "bestillinger");
                }
            }
            else if (tableName == "rom")
            {
                selectedRow = roomTable.Rows.Find(primaryKey);
                selectedRow.BeginEdit();
                selectedRow = rowData;
                selectedRow.EndEdit();

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daRoom);
                    daRoom.Update(ds, "rom");
                }
            }
            else if (tableName == "romtyper")
            {
                selectedRow = roomTypesTable.Rows.Find(primaryKey);
                selectedRow.BeginEdit();
                selectedRow = rowData;
                selectedRow.EndEdit();

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daRoomTypes);
                    daRoomTypes.Update(ds, "romtyper");
                }
            }

            string outputString = "";

            for (int i = 0; i < rowData.ItemArray.Length; i++)
            {
                outputString += rowData[i].ToString() + ", ";
            }

            Console.WriteLine("UPDATE: " + outputString + "INTO " + tableName);

            ds.AcceptChanges();
            OnUpdate();

            return(true);
        }
        public void AutoIncrementColumns()
        {
            execSQL("CREATE TABLE Test (id int(10) unsigned NOT NULL auto_increment primary key)");
            execSQL("INSERT INTO Test VALUES(NULL)");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataSet ds = new DataSet();
            da.Fill(ds);
            Assert.AreEqual(1, ds.Tables[0].Rows[0]["id"]);
            DataRow row = ds.Tables[0].NewRow();
            ds.Tables[0].Rows.Add(row);

            da.Update(ds);

            ds.Clear();
            da.Fill(ds);
            Assert.AreEqual(1, ds.Tables[0].Rows[0]["id"]);
            Assert.AreEqual(2, ds.Tables[0].Rows[1]["id"]);
            cb.Dispose();
        }
示例#33
0
        static void Main(string[] args)
        {
            Console.WriteLine("Введите имя пользователя: ");
            string name = Console.ReadLine();

            while (name.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите имя пользователя: ");
                name = Console.ReadLine();
            }
            Console.WriteLine("Введите пароль: ");
            string password = "";

            while (true)
            {
                ConsoleKeyInfo i = Console.ReadKey(true);
                if (i.Key == ConsoleKey.Enter)
                {
                    if (password.Length == 0)
                    {
                        Console.WriteLine("Вы ничего не ввели!");
                        Console.WriteLine("Введите пароль: ");
                    }
                    else
                    {
                        break;
                    }
                }

                else if (i.Key == ConsoleKey.Backspace)
                {
                    if (password.Length > 0)
                    {
                        password = password.Remove(password.Length - 1);
                        Console.Write("\b \b");
                    }
                }
                else
                {
                    password += i.KeyChar;
                    Console.Write("*");
                }
            }
            while (password.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите пароль: ");
                password = Console.ReadLine();
            }
            Console.WriteLine();
            Console.WriteLine("Введите имя сервера: ");
            string server_name = Console.ReadLine();

            while (server_name.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите имя сервера: ");
                server_name = Console.ReadLine();
            }
            Console.WriteLine("Введите имя базы данных: ");
            string db_name = Console.ReadLine();

            while (db_name.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите имя базы данных: ");
                db_name = Console.ReadLine();
            }
            connectionString = $"uid={name}; Password={password}; server={server_name}; database={db_name};";
            Connection       = new MySqlConnection(connectionString);
            dataSet          = new DataSet($"{db_name}");
            Console.Clear();
            var allOK = true;

            Console.WriteLine($"БД \"{db_name}\" ");
            try
            {
                Connection.Open();
            }
            catch
            {
                Console.WriteLine("Ошибка подключения к БД:");
                Console.ReadKey();
                allOK = false;
            }
            finally
            {
                Console.WriteLine("Свойство подключения:");
                Console.WriteLine($"\tСтрока подключения: {Connection.ConnectionString}");
                Console.WriteLine($"\tБаза данных: {Connection.Database}");
                Console.WriteLine($"\tСервер: {Connection.DataSource}");

                if (allOK)
                {
                    Console.WriteLine($"\tВерсия сервера: {Connection.ServerVersion}");
                }
                Connection.Close();
                Console.WriteLine($"\tСостояние: {Connection.State}");
                if (!allOK)
                {
                    Environment.Exit(0);
                }
            }
            Console.WriteLine("Введите имя таблицы: ");
            var TableName = Console.ReadLine();

            while (server_name.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите имя таблицы: ");
                TableName = Console.ReadLine();
            }
            Console.WriteLine("Введите название столбцов: ");
            string cols_t = Console.ReadLine();

            while (cols_t.Length == 0)
            {
                Console.WriteLine("Вы ничего не ввели!");
                Console.WriteLine("Введите название столбцов: ");
                cols_t = Console.ReadLine();
            }
            int col_num = 2;

            for (int i = 0; i < cols_t.Length; i++)
            {
                if (cols_t[i] == ' ')
                {
                    col_num++;
                }
            }
            var myCom = new MySqlCommand();

            myCom.CommandType = CommandType.TableDirect;
            myCom.CommandText = TableName;
            try
            {
                Connection.Open();
            }
            catch
            {
                Connection.Close();
                throw;
            }
            myCom.Connection = Connection;

            var    myReader = myCom.ExecuteReader();
            string t_name   = myReader.GetName(0);

            Connection.Close();
            if (cols_t.Contains(t_name))
            {
                col_num--;
            }
            cols_t = cols_t.Replace($"{t_name}", "");

            cols_t = $"`{t_name} " + cols_t + "`";
            cols_t = cols_t.Replace("  ", " ");
            string cols  = cols_t.Replace(" ", "`, `");
            var    query = $"SELECT {cols} FROM {TableName}";
            var    da    = new MySqlDataAdapter(query, Connection);

            da.Fill(dataSet, TableName);
            string [] cols_names = new string [col_num];
            for (int i = 0; i < col_num; i++)
            {
                cols_names[i] = dataSet.Tables[TableName].Columns[i].ColumnName;
            }
            var comBuilder = new MySqlCommandBuilder(da);
            var index      = 0;
            var TotalRows  = dataSet.Tables[TableName].Rows.Count;
            var drow       = dataSet.Tables[TableName].Rows[index];

            ShowTable(TableName, col_num);
            Console.WriteLine("Текущая запись");
            for (int i = 0; i < col_num; i++)
            {
                Console.Write($"#{drow[cols_names[i]],10}: ");
            }
            Console.SetCursorPosition(0, Console.CursorTop);

            ConsoleKeyInfo cki;

            do
            {
                cki = Console.ReadKey(true);
                switch (cki.Key)
                {
                case ConsoleKey.DownArrow:
                    if (index <= TotalRows - 1)
                    {
                        index++;
                        if (index == TotalRows)
                        {
                            index = 0;
                        }
                    }
                    break;

                case ConsoleKey.UpArrow:
                    if (index >= 0)
                    {
                        index--;
                        if (index == -1)
                        {
                            index = TotalRows - 1;
                        }
                    }
                    break;

                case ConsoleKey.T:
                    if ((cki.Modifiers & ConsoleModifiers.Control) != 0)
                    {
                        ShowTable($"{TableName}", col_num);
                    }
                    break;

                case ConsoleKey.L:
                    if ((cki.Modifiers & ConsoleModifiers.Control) != 0)
                    {
                        ShowTableInDB($"{TableName}");
                    }
                    break;

                case ConsoleKey.Enter:
                    if (drow.RowState == DataRowState.Deleted)
                    {
                        break;
                    }
                    Console.WriteLine("\nВведите значения полей:");
                    foreach (DataColumn column in dataSet.Tables[TableName].Columns)
                    {
                        Console.Write($"{column.ColumnName}: ");
                        var val = Console.ReadLine();
                        drow[column.ColumnName] = val;
                    }
                    break;

                case ConsoleKey.Backspace:
                    drow.RejectChanges();
                    break;

                case ConsoleKey.R:
                    if ((cki.Modifiers & ConsoleModifiers.Control) != 0)
                    {
                        da.Fill(dataSet, TableName);
                    }
                    index = 0;
                    break;

                case ConsoleKey.F2:
                    try
                    {
                        da.Update(dataSet, TableName);
                        dataSet.Tables[TableName].AcceptChanges();
                        Console.WriteLine("\nДанные сохранены!");
                    }
                    catch (DBConcurrencyException ex)
                    {
                        Console.WriteLine($"Возникло исключение: {ex.Message}");
                    }
                    TotalRows = dataSet.Tables[TableName].Rows.Count;
                    if (index != 0)
                    {
                        index--;
                    }
                    break;

                case ConsoleKey.Delete:
                    drow.Delete();
                    break;

                case ConsoleKey.Insert:
                    myCom             = new MySqlCommand();
                    myCom.CommandType = CommandType.TableDirect;
                    myCom.CommandText = TableName;
                    try
                    {
                        Connection.Open();
                    }
                    catch
                    {
                        Connection.Close();
                        throw;
                    }
                    myCom.Connection = Connection;

                    myReader = myCom.ExecuteReader();
                    t_name   = myReader.GetName(0);
                    Connection.Close();
                    Console.WriteLine(t_name);
                    myCom             = new MySqlCommand();
                    myCom.CommandText = $"SELECT `{t_name}` FROM {TableName} ORDER BY `{t_name}` DESC";
                    myCom.Connection  = Connection;
                    var curConState = Connection.State;

                    Connection.Open();
                    var pkey = (int)myCom.ExecuteScalar();
                    Connection.Close();
                    var row = dataSet.Tables[TableName].NewRow();
                    row[0] = ++pkey;
                    dataSet.Tables[TableName].Rows.Add(row);
                    var ins_index = dataSet.Tables[TableName].Rows.IndexOf(row);
                    index = ins_index;
                    break;
                }

                TotalRows = dataSet.Tables[0].Rows.Count;
                drow      = dataSet.Tables[TableName].Rows[index];
                var s = "  ";
                if (drow.RowState == DataRowState.Deleted)
                {
                    s = $"#{drow[0, DataRowVersion.Original],10}: {drow[1, DataRowVersion.Original],-20}";
                }
                else
                {
                    s = $"#{drow[0],10}: {drow[1],-20} {drow.RowState.ToString(),10}";
                }

                Console.Write(s.PadRight(30));
                Console.SetCursorPosition(0, Console.CursorTop);
            } while (cki.Key != ConsoleKey.Escape);
        }
        public void UpdateNullTextFieldToEmptyString()
        {
            CreateDefaultTable();
            execSQL("INSERT INTO Test (id, id2, name) VALUES (1, 1, NULL)");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ToString();  // keep the compiler happy

            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["name"] = "";
            int updateCnt = da.Update(dt);

            Assert.AreEqual(1, updateCnt);

            dt.Rows.Clear();
            da.Fill(dt);

            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("", dt.Rows[0]["name"]);
        }
        public void QuietOpenAndClose()
        {
            execSQL("CREATE TABLE Test (id INT, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test VALUES(1)");

            using (MySqlConnection c = new MySqlConnection(GetConnectionString(true)))
            {
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", c);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
                Assert.IsTrue(c.State == ConnectionState.Closed);
                DataTable dt = new DataTable();
                da.Fill(dt);
                Assert.IsTrue(c.State == ConnectionState.Closed);
                Assert.AreEqual(1, dt.Rows.Count);

                dt.Rows[0][0] = 2;
                DataRow[] rows = new DataRow[1];
                rows[0] = dt.Rows[0];
                da.Update(dt);
                Assert.IsTrue(c.State == ConnectionState.Closed);

                dt.Clear();
                c.Open();
                Assert.IsTrue(c.State == ConnectionState.Open);
                da.Fill(dt);
                Assert.IsTrue(c.State == ConnectionState.Open);
                Assert.AreEqual(1, dt.Rows.Count);
                cb.Dispose();
            }
        }
    public void BatchUpdatesAndDeletes()
    {
      st.execSQL("CREATE TABLE test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))");
      st.execSQL("INSERT INTO test VALUES (1, 'boo'), (2, 'boo'), (3, 'boo')");

      MySqlTrace.Listeners.Clear();
      MySqlTrace.Switch.Level = SourceLevels.All;
      GenericListener listener = new GenericListener();
      MySqlTrace.Listeners.Add(listener);

      string connStr = st.GetConnectionString(true) + ";logging=true;allow batch=true";
      using (MySqlConnection c = new MySqlConnection(connStr))
      {
        c.Open();
        MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM test", c);
        MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
        da.UpdateCommand = cb.GetUpdateCommand();
        da.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
        da.UpdateBatchSize = 100;

        DataTable dt = new DataTable();
        da.Fill(dt);

        dt.Rows[0]["name"] = "boo2";
        dt.Rows[1]["name"] = "boo2";
        dt.Rows[2]["name"] = "boo2";
        da.Update(dt);
      }

      Assert.Equal(1, listener.Find("Query Opened: UPDATE"));
    }
        public void TestUpdate()
        {
            CreateDefaultTable();
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);

            DataRow dr = dt.NewRow();
            dr["id2"] = 2;
            dr["name"] = "TestName1";
            dt.Rows.Add(dr);
            int count = da.Update(dt);

            // make sure our refresh of auto increment values worked
            Assert.AreEqual(1, count, "checking insert count");
            Assert.IsNotNull(dt.Rows[dt.Rows.Count - 1]["id"],
                "Checking auto increment column");

            dt.Rows.Clear();
            da.Fill(dt);
            dt.Rows[0]["id2"] = 3;
            dt.Rows[0]["name"] = "TestName2";
            dt.Rows[0]["ts"] = DBNull.Value;
            DateTime day1 = new DateTime(2003, 1, 16, 12, 24, 0);
            dt.Rows[0]["dt"] = day1;
            dt.Rows[0]["tm"] = day1.TimeOfDay;
            count = da.Update(dt);

            Assert.IsNotNull(dt.Rows[0]["ts"], "checking refresh of record");
            Assert.AreEqual(3, dt.Rows[0]["id2"], "checking refresh of primary column");

            dt.Rows.Clear();
            da.Fill(dt);

            Assert.AreEqual(1, count, "checking update count");
            DateTime dateTime = (DateTime)dt.Rows[0]["dt"];
            Assert.AreEqual(day1.Date, dateTime.Date, "checking date");
            Assert.AreEqual(day1.TimeOfDay, dt.Rows[0]["tm"], "checking time");

            dt.Rows[0].Delete();
            count = da.Update(dt);

            Assert.AreEqual(1, count, "checking insert count");

            dt.Rows.Clear();
            da.Fill(dt);
            Assert.AreEqual(0, dt.Rows.Count, "checking row count");
            cb.Dispose();
        }
示例#38
0
        private void button2_Click(object sender, EventArgs e)
        {
            string yr, m, d;

            yr = DateTime.Now.Year.ToString();
            m  = DateTime.Now.Month.ToString();
            d  = DateTime.Now.Day.ToString();

            int d4 = Convert.ToInt32(d) + 1;


            DialogResult result = new DialogResult();

            result = MessageBox.Show("Veriyi güncellemek istiyormusunuz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            //baglanti = new MySqlConnection(bag);
            if (result == DialogResult.Yes)
            {
                try{
                    cmdb = new MySqlCommandBuilder(adapter);

                    /*  DataSet uds = new DataSet();
                     * uds = dataSet.GetChanges(DataRowState.Modified);
                     *
                     * adapter.Update(uds);*/

                    adapter.Update(dataSet, "customer_case");
                    if (baglanti.State == ConnectionState.Closed)
                    {
                        baglanti.Open();
                    }

                    String sqlTotal2 = "SELECT CC.ODEMETIPI,SUM(CC.TL) AS TL, SUM(CC.EURO) AS EURO, SUM(CC.DOLAR) AS DOLAR FROM customer_case cc WHERE DATE BETWEEN '"
                                       + yr + "-" + m + "-" + d + "' AND " + "'" + yr + "-" + m + "-" + d4 + "'" + "GROUP BY CC.ODEMETIPI";
                    //if (DataGridList.Name == "dtgridSalesList")
                    //    sql = sql + " ORDER BY  SALE_CODE";
                    DataTable dtTotal2 = new DataTable();

                    MySqlDataAdapter adapterTotal2 = new MySqlDataAdapter();
                    MySqlCommand     commandTotal2 = new MySqlCommand();

                    commandTotal2.CommandText   = sqlTotal2;
                    commandTotal2.Connection    = baglanti;
                    adapterTotal2.SelectCommand = commandTotal2;

                    //baglanti.Open();
                    adapterTotal2.Fill(dtTotal2);
                    grdCase_Total.DataSource = dtTotal2;
                    baglanti.Close();

                    grdCase_Total.Columns[0].HeaderText = "Ödeme Tipi";
                    grdCase_Total.Columns[1].HeaderText = "TL";
                    grdCase_Total.Columns[1].DefaultCellStyle.Format = "N";
                    grdCase_Total.Columns[2].HeaderText = "€";
                    grdCase_Total.Columns[2].DefaultCellStyle.Format = "N";
                    grdCase_Total.Columns[3].HeaderText = "$";
                    grdCase_Total.Columns[3].DefaultCellStyle.Format = "N";
                }
                catch (global::System.Exception ex)
                {
                    MessageBox.Show((ex.Message + (" : " + "Bir hata olustu, lütfen daha sonra tekrar deneyiniz...")), "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
        public void UpdateExtendedTextFields()
        {
            execSQL("CREATE TABLE Test (id int, notes MEDIUMTEXT, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test VALUES(1, 'This is my note')");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ToString();  // keep the compiler happy
            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["notes"] = "This is my new note";
            da.Update(dt);

            dt.Clear();
            da.Fill(dt);
            Assert.AreEqual("This is my new note", dt.Rows[0]["notes"]);
        }
示例#40
0
 public void DeriveParametersDoesNotExist()
 {
     using var cmd   = new MySqlCommand("xx_does_not_exist", m_database.Connection);
     cmd.CommandType = CommandType.StoredProcedure;
     Assert.Throws <MySqlException>(() => MySqlCommandBuilder.DeriveParameters(cmd));
 }
        public void UseAdapterPropertyOfCommandBuilder()
        {
            CreateDefaultTable();
            execSQL("INSERT INTO Test (id, id2, name) VALUES (NULL, 1, 'Test')");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder();
            cb.DataAdapter = da;

            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["name"] = "Test Update";
            int updateCnt = da.Update(dt);

            Assert.AreEqual(1, updateCnt);

            dt.Rows.Clear();
            da.Fill(dt);

            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("Test Update", dt.Rows[0]["name"]);
        }
示例#42
0
        public void ParsingTender()
        {
            using (var connect = ConnectToDb.GetDbConnection())
            {
                connect.Open();
                var selectTend =
                    $"SELECT id_tender FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND end_date = @end_date AND type_fz = @type_fz AND doc_publish_date = @doc_publish_date AND notice_version = @notice_version";
                var cmd = new MySqlCommand(selectTend, connect);
                cmd.Prepare();
                cmd.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                cmd.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd.Parameters.AddWithValue("@notice_version", _tn.Status);
                var dt      = new DataTable();
                var adapter = new MySqlDataAdapter {
                    SelectCommand = cmd
                };
                adapter.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    return;
                }

                var dateUpd      = DateTime.Now;
                var cancelStatus = 0;
                var updated      = false;
                var selectDateT  =
                    $"SELECT id_tender, date_version, cancel FROM {AppBuilder.Prefix}tender WHERE purchase_number = @purchase_number AND type_fz = @type_fz";
                var cmd2 = new MySqlCommand(selectDateT, connect);
                cmd2.Prepare();
                cmd2.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd2.Parameters.AddWithValue("@type_fz", TypeFz);
                var adapter2 = new MySqlDataAdapter {
                    SelectCommand = cmd2
                };
                var dt2 = new DataTable();
                adapter2.Fill(dt2);
                foreach (DataRow row in dt2.Rows)
                {
                    updated = true;
                    if (dateUpd >= (DateTime)row["date_version"])
                    {
                        row["cancel"] = 1;
                    }
                    else
                    {
                        cancelStatus = 1;
                    }
                }

                var commandBuilder =
                    new MySqlCommandBuilder(adapter2)
                {
                    ConflictOption = ConflictOption.OverwriteChanges
                };
                adapter2.Update(dt2);
                var printForm   = _tn.Href;
                var customerId  = 0;
                var organiserId = 0;
                var orgName     = "ООО «ТД «Агат»";
                if (!string.IsNullOrEmpty(orgName))
                {
                    var selectOrg =
                        $"SELECT id_organizer FROM {AppBuilder.Prefix}organizer WHERE full_name = @full_name";
                    var cmd3 = new MySqlCommand(selectOrg, connect);
                    cmd3.Prepare();
                    cmd3.Parameters.AddWithValue("@full_name", orgName);
                    var dt3      = new DataTable();
                    var adapter3 = new MySqlDataAdapter {
                        SelectCommand = cmd3
                    };
                    adapter3.Fill(dt3);
                    if (dt3.Rows.Count > 0)
                    {
                        organiserId = (int)dt3.Rows[0].ItemArray[0];
                    }
                    else
                    {
                        var phone         = "8 495 777-777-1";
                        var email         = "*****@*****.**";
                        var inn           = "";
                        var kpp           = "";
                        var contactPerson = "";
                        var addOrganizer  =
                            $"INSERT INTO {AppBuilder.Prefix}organizer SET full_name = @full_name, contact_phone = @contact_phone, contact_person = @contact_person, contact_email = @contact_email, inn = @inn, kpp = @kpp";
                        var cmd4 = new MySqlCommand(addOrganizer, connect);
                        cmd4.Prepare();
                        cmd4.Parameters.AddWithValue("@full_name", orgName);
                        cmd4.Parameters.AddWithValue("@contact_phone", phone);
                        cmd4.Parameters.AddWithValue("@contact_person", contactPerson);
                        cmd4.Parameters.AddWithValue("@contact_email", email);
                        cmd4.Parameters.AddWithValue("@inn", inn);
                        cmd4.Parameters.AddWithValue("@kpp", kpp);
                        cmd4.ExecuteNonQuery();
                        organiserId = (int)cmd4.LastInsertedId;
                    }
                }

                GetEtp(connect, out var idEtp);
                var idPlacingWay = 0;
                var insertTender =
                    $"INSERT INTO {AppBuilder.Prefix}tender SET id_region = @id_region, id_xml = @id_xml, purchase_number = @purchase_number, doc_publish_date = @doc_publish_date, href = @href, purchase_object_info = @purchase_object_info, type_fz = @type_fz, id_organizer = @id_organizer, id_placing_way = @id_placing_way, id_etp = @id_etp, end_date = @end_date, scoring_date = @scoring_date, bidding_date = @bidding_date, cancel = @cancel, date_version = @date_version, num_version = @num_version, notice_version = @notice_version, xml = @xml, print_form = @print_form";
                var cmd9 = new MySqlCommand(insertTender, connect);
                cmd9.Prepare();
                cmd9.Parameters.AddWithValue("@id_region", 0);
                cmd9.Parameters.AddWithValue("@id_xml", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@purchase_number", _tn.PurNum);
                cmd9.Parameters.AddWithValue("@doc_publish_date", _tn.DatePub);
                cmd9.Parameters.AddWithValue("@href", _tn.Href);
                cmd9.Parameters.AddWithValue("@purchase_object_info", _tn.PurName);
                cmd9.Parameters.AddWithValue("@type_fz", TypeFz);
                cmd9.Parameters.AddWithValue("@id_organizer", organiserId);
                cmd9.Parameters.AddWithValue("@id_placing_way", idPlacingWay);
                cmd9.Parameters.AddWithValue("@id_etp", idEtp);
                cmd9.Parameters.AddWithValue("@end_date", _tn.DateEnd);
                cmd9.Parameters.AddWithValue("@scoring_date", DateTime.MinValue);
                cmd9.Parameters.AddWithValue("@bidding_date", DateTime.MinValue);
                cmd9.Parameters.AddWithValue("@cancel", cancelStatus);
                cmd9.Parameters.AddWithValue("@date_version", dateUpd);
                cmd9.Parameters.AddWithValue("@num_version", 1);
                cmd9.Parameters.AddWithValue("@notice_version", _tn.Status);
                cmd9.Parameters.AddWithValue("@xml", _tn.Href);
                cmd9.Parameters.AddWithValue("@print_form", printForm);
                var resInsertTender = cmd9.ExecuteNonQuery();
                var idTender        = (int)cmd9.LastInsertedId;
                Counter(resInsertTender, updated);
                if (!string.IsNullOrEmpty(orgName))
                {
                    var selectCustomer =
                        $"SELECT id_customer FROM {AppBuilder.Prefix}customer WHERE full_name = @full_name";
                    var cmd13 = new MySqlCommand(selectCustomer, connect);
                    cmd13.Prepare();
                    cmd13.Parameters.AddWithValue("@full_name", orgName);
                    var reader7 = cmd13.ExecuteReader();
                    if (reader7.HasRows)
                    {
                        reader7.Read();
                        customerId = (int)reader7["id_customer"];
                        reader7.Close();
                    }
                    else
                    {
                        reader7.Close();
                        var insertCustomer =
                            $"INSERT INTO {AppBuilder.Prefix}customer SET reg_num = @reg_num, full_name = @full_name, is223=1, inn = @inn";
                        var cmd14 = new MySqlCommand(insertCustomer, connect);
                        cmd14.Prepare();
                        var customerRegNumber = Guid.NewGuid().ToString();
                        cmd14.Parameters.AddWithValue("@reg_num", customerRegNumber);
                        cmd14.Parameters.AddWithValue("@full_name", orgName);
                        cmd14.Parameters.AddWithValue("@inn", "");
                        cmd14.ExecuteNonQuery();
                        customerId = (int)cmd14.LastInsertedId;
                    }
                }

                var lotNum    = 1;
                var insertLot =
                    $"INSERT INTO {AppBuilder.Prefix}lot SET id_tender = @id_tender, lot_number = @lot_number, max_price = @max_price, currency = @currency, finance_source = @finance_source";
                var cmd18 = new MySqlCommand(insertLot, connect);
                cmd18.Prepare();
                cmd18.Parameters.AddWithValue("@id_tender", idTender);
                cmd18.Parameters.AddWithValue("@lot_number", lotNum);
                cmd18.Parameters.AddWithValue("@max_price", "");
                cmd18.Parameters.AddWithValue("@currency", "");
                cmd18.Parameters.AddWithValue("@finance_source", "");
                cmd18.ExecuteNonQuery();
                var idLot         = (int)cmd18.LastInsertedId;
                var insertLotitem =
                    $"INSERT INTO {AppBuilder.Prefix}purchase_object SET id_lot = @id_lot, id_customer = @id_customer, name = @name";
                var cmd19 = new MySqlCommand(insertLotitem, connect);
                cmd19.Prepare();
                cmd19.Parameters.AddWithValue("@id_lot", idLot);
                cmd19.Parameters.AddWithValue("@id_customer", customerId);
                cmd19.Parameters.AddWithValue("@name", _tn.PurName);
                cmd19.ExecuteNonQuery();
                var insertCustomerRequirement =
                    $"INSERT INTO {AppBuilder.Prefix}customer_requirement SET id_lot = @id_lot, id_customer = @id_customer, delivery_place = @delivery_place, max_price = @max_price, delivery_term = @delivery_term";
                var cmd16 = new MySqlCommand(insertCustomerRequirement, connect);
                cmd16.Prepare();
                cmd16.Parameters.AddWithValue("@id_lot", idLot);
                cmd16.Parameters.AddWithValue("@id_customer", customerId);
                cmd16.Parameters.AddWithValue("@delivery_place", "");
                cmd16.Parameters.AddWithValue("@max_price", "");
                cmd16.Parameters.AddWithValue("@delivery_term", _tn.Requirements);
                cmd16.ExecuteNonQuery();
                TenderKwords(connect, idTender);
                AddVerNumber(connect, _tn.PurNum, TypeFz);
            }
        }
        public void UnsignedTypes()
        {
            execSQL("CREATE TABLE Test (b TINYINT UNSIGNED PRIMARY KEY)");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);

            DataTable dt = new DataTable();
            da.Fill(dt);

            DataView dv = new DataView(dt);
            DataRowView row;

            row = dv.AddNew();
            row["b"] = 120;
            row.EndEdit();
            da.Update(dv.Table);

            row = dv.AddNew();
            row["b"] = 135;
            row.EndEdit();
            da.Update(dv.Table);
            cb.Dispose();

            execSQL("DROP TABLE IF EXISTS Test");
            execSQL("CREATE TABLE Test (b MEDIUMINT UNSIGNED PRIMARY KEY)");
            execSQL("INSERT INTO Test VALUES(20)");
            MySqlCommand cmd = new MySqlCommand("SELECT * FROM Test WHERE (b > ?id)", conn);
            cmd.Parameters.Add("?id", MySqlDbType.UInt16).Value = 10;
            using (MySqlDataReader dr = cmd.ExecuteReader())
            {
                dr.Read();
                Assert.AreEqual(20, dr.GetUInt16(0));
            }
        }
        /// <summary>
        /// Подготовка к разбору прайса, чтение таблиц
        /// </summary>
        public void Prepare()
        {
            _logger.Debug("начало Prepare");
            daForbidden = new MySqlDataAdapter(
                String.Format("SELECT PriceCode, LOWER(Forbidden) AS Forbidden FROM farm.Forbidden WHERE PriceCode={0}", _priceInfo.PriceCode), _connection);
            daForbidden.Fill(dsMyDB, "Forbidden");
            dtForbidden = dsMyDB.Tables["Forbidden"];
            _logger.Debug("загрузили Forbidden");

            daSynonym = new MySqlDataAdapter(String.Format(@"SELECT
	s.SynonymCode,
	LOWER(s.Synonym) AS Synonym,
	s.ProductId,
	s.Junk,
	p.CatalogId,
	c.Pharmacie,
	lower(s.Canonical) as Canonical
FROM farm.Synonym s
	join catalogs.products p on p.Id = s.ProductId
		join Catalogs.Catalog c on c.Id = p.CatalogId
WHERE s.PriceCode = {0}",
                                                           parentSynonym), _connection);
            daSynonym.Fill(dsMyDB, "Synonym");
            dtSynonym = dsMyDB.Tables["Synonym"];
            _logger.Debug("загрузили Synonym");

            daExcludes = new MySqlDataAdapter(
                String.Format("SELECT Id, CatalogId, ProducerSynonym, PriceCode, OriginalSynonymId FROM farm.Excludes where PriceCode = {0}", parentSynonym), _connection);
            var cbExcludes = new MySqlCommandBuilder(daExcludes);

            daExcludes.InsertCommand = cbExcludes.GetInsertCommand();
            daExcludes.InsertCommand.CommandTimeout = 0;
            daExcludes.Fill(dsMyDB, "Excludes");
            dtExcludes = dsMyDB.Tables["Excludes"];
            _logger.Debug("загрузили Excludes");
            dtExcludes.Constraints.Add("ProducerSynonymKey", new[] { dtExcludes.Columns["CatalogId"], dtExcludes.Columns["ProducerSynonym"] }, false);
            _logger.Debug("построили индекс по Excludes");

            daSynonymFirmCr = new MySqlDataAdapter(
                String.Format(@"
SELECT
  SynonymFirmCrCode,
  CodeFirmCr,
  LOWER(Synonym) AS Synonym,
  (aps.ProducerSynonymId is not null) as IsAutomatic,
	Canonical
FROM
  farm.SynonymFirmCr
  left join farm.AutomaticProducerSynonyms aps on aps.ProducerSynonymId = SynonymFirmCr.SynonymFirmCrCode
WHERE SynonymFirmCr.PriceCode={0} and Canonical is not null
",
                              parentSynonym),
                _connection);
            daSynonymFirmCr.Fill(dsMyDB, "SynonymFirmCr");
            daSynonymFirmCr.InsertCommand = new MySqlCommand(@"SELECT farm.CreateProducerSynonym(?PriceCode, ?CodeFirmCr, ?OriginalSynonym, ?IsAutomatic);");
            daSynonymFirmCr.InsertCommand.Parameters.Add("?PriceCode", MySqlDbType.Int64);
            daSynonymFirmCr.InsertCommand.Parameters.Add("?OriginalSynonym", MySqlDbType.String);
            daSynonymFirmCr.InsertCommand.Parameters.Add("?CodeFirmCr", MySqlDbType.Int64);
            daSynonymFirmCr.InsertCommand.Parameters.Add("?IsAutomatic", MySqlDbType.Bit);
            daSynonymFirmCr.InsertCommand.Connection = _connection;
            dtSynonymFirmCr = dsMyDB.Tables["SynonymFirmCr"];
            dtSynonymFirmCr.Columns.Add("OriginalSynonym", typeof(string));
            dtSynonymFirmCr.Columns.Add("InternalProducerSynonymId", typeof(long));
            dtSynonymFirmCr.Columns["InternalProducerSynonymId"].AutoIncrement = true;
            _logger.Debug("загрузили SynonymFirmCr");

            var adapter = new MySqlDataAdapter(@"select
b.ProductId, p.CatalogId, b.ProducerId, b.EAN13, c.Pharmacie
from Catalogs.BarcodeProducts b
	join Catalogs.Products p on b.ProductId = p.Id
		join Catalogs.Catalog c on c.Id = p.CatalogId"        , _connection);

            barcodes = new DataTable();
            adapter.Fill(barcodes);

            _producerResolver = new ProducerResolver(_stats, dtExcludes, dtSynonymFirmCr);
            _producerResolver.Load(_connection);

            daUnrecExp = new MySqlDataAdapter(
                String.Format("SELECT * FROM farm.UnrecExp WHERE PriceItemId={0} LIMIT 0", priceItemId), _connection);
            var cbUnrecExp = new MySqlCommandBuilder(daUnrecExp);

            daUnrecExp.AcceptChangesDuringUpdate      = false;
            daUnrecExp.InsertCommand                  = cbUnrecExp.GetInsertCommand();
            daUnrecExp.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
            daUnrecExp.InsertCommand.CommandTimeout   = 0;
            daUnrecExp.Fill(dsMyDB, "UnrecExp");
            dtUnrecExp = dsMyDB.Tables["UnrecExp"];
            dtUnrecExp.Columns["AddDate"].DataType = typeof(DateTime);
            dtUnrecExp.Columns.Add("InternalProducerSynonymId", typeof(long));
            _logger.Debug("загрузили UnrecExp");

            daZero = new MySqlDataAdapter(
                String.Format("SELECT * FROM farm.Zero WHERE PriceItemId={0} LIMIT 0", priceItemId), _connection);
            var cbZero = new MySqlCommandBuilder(daZero);

            daZero.InsertCommand = cbZero.GetInsertCommand();
            daZero.InsertCommand.CommandTimeout = 0;
            daZero.Fill(dsMyDB, "Zero");
            dtZero = dsMyDB.Tables["Zero"];
            _logger.Debug("загрузили Zero");

            daForb = new MySqlDataAdapter(
                String.Format("SELECT * FROM farm.Forb WHERE PriceItemId={0} LIMIT 0", priceItemId), _connection);
            var cbForb = new MySqlCommandBuilder(daForb);

            daForb.InsertCommand = cbForb.GetInsertCommand();
            daForb.InsertCommand.CommandTimeout = 0;
            daForb.Fill(dsMyDB, "Forb");
            dtForb = dsMyDB.Tables["Forb"];
            dtForb.Constraints.Add("ForbName", new[] { dtForb.Columns["Forb"] }, false);
            _logger.Debug("загрузили Forb");

            if (_priceInfo.IsUpdating)
            {
                var loadExistsWatch = Stopwatch.StartNew();
                LoadCore();
                _logger.Debug("Загрузили предложения");
                if (_existsCores.Count > 0)
                {
                    LoadCosts();
                    _logger.Debug("Загрузили цены");
                }
                if (_saveInCore)
                {
                    _searcher = new Searcher(_existsCores, new[] { typeof(Offer).GetField("CodeOKP") });
                }
                else
                {
                    _searcher = new Searcher(_existsCores);
                }
                loadExistsWatch.Stop();
                _logger.InfoFormat("Загрузка и подготовка существующего прайса, {0}с", loadExistsWatch.Elapsed.TotalSeconds);
            }

            _logger.Debug("конец Prepare");
        }
示例#45
0
        public void UpdateDataSet()
        {
            execSQL("CREATE TABLE Test (id INT NOT NULL, blob1 LONGBLOB, text1 LONGTEXT, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test VALUES( 1, NULL, 'Text field' )");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);

            string s = (string)dt.Rows[0][2];
            Assert.AreEqual("Text field", s);

            byte[] inBuf = Utils.CreateBlob(512);
            dt.Rows[0].BeginEdit();
            dt.Rows[0]["blob1"] = inBuf;
            dt.Rows[0].EndEdit();
            DataTable changes = dt.GetChanges();
            da.Update(changes);
            dt.AcceptChanges();

            dt.Clear();
            da.Fill(dt);
            cb.Dispose();

            byte[] outBuf = (byte[])dt.Rows[0]["blob1"];
            Assert.AreEqual(inBuf.Length, outBuf.Length,
                      "checking length of updated buffer");
            for (int y = 0; y < inBuf.Length; y++)
                Assert.AreEqual(inBuf[y], outBuf[y], "checking array data");
        }
示例#46
0
        public static string QuoteTable(this string sqlQuery, string tableName)
        {
            var cb = new MySqlCommandBuilder();

            return(string.Format(sqlQuery, cb.QuoteIdentifier(tableName)));
        }
        public void DateTimeInDataTable()
        {
            execSQL("INSERT INTO Test VALUES(1, Now(), '0000-00-00', NULL, NULL)");

            using (MySqlConnection c = new MySqlConnection(
                conn.ConnectionString + ";pooling=false;AllowZeroDatetime=true"))
            {
                c.Open();

                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", c);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
                DataTable dt = new DataTable();

                da.Fill(dt);
                DataRow row = dt.NewRow();
                row["id"] = 2;
                row["dt"] = new MySqlDateTime(DateTime.Now);
                row["d"] = new MySqlDateTime(DateTime.Now);
                row["t"] = new TimeSpan(1, 1, 1);
                row["ts"] = DBNull.Value;
                dt.Rows.Add(row);
                da.Update(dt);

                dt.Rows.Clear();
                da.Fill(dt);
                Assert.AreEqual(2, dt.Rows.Count);
                cb.Dispose();
            }
        }
示例#48
0
        /// <summary>绑定
        /// 绑定
        /// </summary>
        /// <param name="strTableName"></param>
        private void BindGrid(string strTableName)
        {
            string strSql = "SELECT * FROM  " + strTableName;

            switch (m_dbType)
            {
            case SqlType.SqlServer:
                SqlConnection conn = new SqlConnection(m_databaseSchema.ConnectionString);
                SqlCommand    cmd  = new SqlCommand(strSql, conn);
                m_sda = new SqlDataAdapter(cmd);
                SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(m_sda);
                m_ds = new DataSet();
                m_sda.Fill(m_ds);
                conn.Close();
                //绑定数据源
                grdTable.DataSource = m_ds.Tables[0];
                break;

            case SqlType.Oracle:
                break;

            case SqlType.MySql:
                MySqlConnection myconn = new MySqlConnection(m_databaseSchema.ConnectionString);
                MySqlCommand    mycmd  = new MySqlCommand(strSql, myconn);
                m_mysda = new MySqlDataAdapter(mycmd);
                MySqlCommandBuilder mycmdBuilder = new MySqlCommandBuilder(m_mysda);
                m_ds = new DataSet();
                m_mysda.Fill(m_ds);
                myconn.Close();
                //绑定数据源
                grdTable.DataSource = m_ds.Tables[0];
                break;

            case SqlType.SQLite:
                SQLiteConnection sqliteconn = new SQLiteConnection(m_databaseSchema.ConnectionString);
                SQLiteCommand    sqlitecmd  = new SQLiteCommand(strSql, sqliteconn);
                m_sqlitesda = new SQLiteDataAdapter(sqlitecmd);
                SQLiteCommandBuilder sqlitecmdBuilder = new SQLiteCommandBuilder(m_sqlitesda);
                m_ds = new DataSet();
                m_sqlitesda.Fill(m_ds);
                sqliteconn.Close();
                //绑定数据源
                grdTable.DataSource = m_ds.Tables[0];
                break;

            case SqlType.SqlServerCe:
                break;

            case SqlType.PostgreSql:
                break;

            case SqlType.Db2:
                break;

            case SqlType.Accesss:
                break;

            default:
                break;
            }
        }
        public void TestAllowZeroDateTime()
        {
            execSQL("TRUNCATE TABLE Test");
            execSQL("INSERT INTO Test (id, d, dt) VALUES (1, '0000-00-00', '0000-00-00 00:00:00')");

            using (MySqlConnection c = new MySqlConnection(
                conn.ConnectionString + ";pooling=false;AllowZeroDatetime=true"))
            {
                c.Open();
                MySqlCommand cmd = new MySqlCommand("SELECT * FROM Test", c);
                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                    reader.Read();

                    Assert.IsTrue(reader.GetValue(1) is MySqlDateTime);
                    Assert.IsTrue(reader.GetValue(2) is MySqlDateTime);

                    Assert.IsFalse(reader.GetMySqlDateTime(1).IsValidDateTime);
                    Assert.IsFalse(reader.GetMySqlDateTime(2).IsValidDateTime);

                    try
                    {
                        reader.GetDateTime(1);
                        Assert.Fail("This should not succeed");
                    }
                    catch (MySqlConversionException)
                    {
                    }
                }

                DataTable dt = new DataTable();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", c);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
                da.Fill(dt);
                dt.Rows[0]["id"] = 2;
                DataRow row = dt.NewRow();
                row["id"] = 3;
                row["d"] = new MySqlDateTime("2003-9-24");
                row["dt"] = new MySqlDateTime("0000/0/00 00:00:00");
                dt.Rows.Add(row);

                da.Update(dt);

                dt.Clear();
                da.Fill(dt);
                Assert.AreEqual(2, dt.Rows.Count);
                MySqlDateTime date = (MySqlDateTime)dt.Rows[1]["d"];
                Assert.AreEqual(2003, date.Year);
                Assert.AreEqual(9, date.Month);
                Assert.AreEqual(24, date.Day);
                cb.Dispose();
            }
        }
示例#50
0
        /// <summary>
        /// Метод подгружает базу данных в соответствии с выбранным элементом из соответствующего ComboBox
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnLoad_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int a = CmbChooseTable.SelectedIndex;
                switch (a)                         // в зависимости от выбора таблицы, будет сформирован запрос
                {
                case 0:
                    NewQuery = "SELECT * FROM Students";

                    break;

                case 1:
                    NewQuery = "SELECT * FROM Faculties";

                    break;

                case 2:
                    NewQuery = "SELECT * FROM Studying_Groups";

                    break;

                case 3:
                    NewQuery = "SELECT * FROM Partners_and_Organizations";

                    break;

                default:
                    System.Windows.MessageBox.Show("Не выбрана существующая позиция");
                    break;
                }
                For_ActionBtns.Visibility   = Visibility.Visible;
                WorkBenchStack.Visibility   = Visibility.Visible;
                LowerActionPanel.Visibility = Visibility.Visible;
                ///
                /// Вывод таблицы из БД в DataGrid (В теории - нужно добыть IP)
                ///
                if (NewQuery != "")
                {
                    using (BaseConn.BuildConnection = new MySqlConnection(OpenConnection))
                    {
                        BaseConn.BuildConnection.Open();
                        MySqlCommand    FillDGrid = new MySqlCommand(NewQuery, BaseConn.BuildConnection);
                        MySqlDataReader DReader   = FillDGrid.ExecuteReader();              // инициализирует чтение из БД
                                                                                            // если что, выше объявлены поля для adapter, datatable, newquery, openconnection;
                        adapter = new MySqlDataAdapter(NewQuery, BaseConn.BuildConnection); // адаптер для работы с записью (необязательно для записи здесь, можно снести в метод на клик
                        // но здесь он нужен для уточнения команд на апдейт удаление и добавление
                        DTable = new DataTable();                                           // для сохранения данных из БД во "временное хранилище"
                        DTable.Load(DReader);                                               // подгружает в "хранилище" данные полученные из БД
                        MySqlCommandBuilder cb = new MySqlCommandBuilder(adapter);
                        //ниже прописываются основные виды команд
                        adapter.InsertCommand            = cb.GetInsertCommand();
                        adapter.UpdateCommand            = cb.GetUpdateCommand();
                        adapter.DeleteCommand            = cb.GetDeleteCommand();
                        Workingbench.AutoGenerateColumns = true;               // подрубаем автогенерацию колонок, чтобы выводило те наименования, что в БД находятся
                        Workingbench.ItemsSource         = DTable.DefaultView; // привязка данных из datatable  к datagrid
                        System.Windows.MessageBox.Show("Таблица выведена!");
                        BaseConn.BuildConnection.Close();
                    }
                }
                else
                {
                    System.Windows.MessageBox.Show("Ошибка формирования запроса: запрос на выборку пуст");
                }
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show("" + ex);
                System.Windows.MessageBox.Show("Ошибка инициализации подключения, повторите снова или обратитесь к системному администратору");
            }
        }
        public void MultiUpdate()
        {
            execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), dt DATETIME, tm TIME,  `multi word` int, PRIMARY KEY(id))");
            execSQL("INSERT INTO  Test (id, name) VALUES (1, 'test1')");
            execSQL("INSERT INTO  Test (id, name) VALUES (2, 'test2')");
            execSQL("INSERT INTO  Test (id, name) VALUES (3, 'test3')");
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["id"] = 4;
            dt.Rows[0]["name"] = "test4";
            dt.Rows[1]["id"] = 5;
            dt.Rows[1]["name"] = "test5";
            dt.Rows[2]["id"] = 6;
            dt.Rows[2]["name"] = "test6";
            DataTable changes = dt.GetChanges();
            da.Update(changes);
            dt.AcceptChanges();

            dt.Rows[0]["id"] = 7;
            dt.Rows[0]["name"] = "test7";
            dt.Rows[1]["id"] = 8;
            dt.Rows[1]["name"] = "test8";
            dt.Rows[2]["id"] = 9;
            dt.Rows[2]["name"] = "test9";
            changes = dt.GetChanges();
            da.Update(changes);
            dt.AcceptChanges();
            cb.Dispose();
        }
示例#52
0
        private void SikronizirajStavkeRacuna()
        {
            if (Klase.Racuni.ProvjeriAktivnost(Convert.ToInt32(listBox1.SelectedItem) - 1) == true)
            { // ONLY DELETE DATA FROM TABLES IF ACTIVE OTHERWISE JUST READ
                using (MySqlConnection sqlconn = new MySqlConnection(Login.constring))
                {
                    sqlconn.Open();
                    string referenca_na_godinu = ""; // TO BE CHANGED LATER

                    string query = "DELETE  FROM racuni_stavke" + referenca_na_godinu + " WHERE id_racun = " + Convert.ToInt32(listBox1.SelectedItem);

                    MySqlCommand mySqlCommand = new MySqlCommand(query, sqlconn);
                    mySqlCommand.ExecuteNonQuery();


                    string           query1           = "SELECT * FROM racuni_stavke" + referenca_na_godinu + " WHERE id_racun = " + Convert.ToInt32(listBox1.SelectedItem);
                    MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(query1, sqlconn);
                    DataSet          ds = new DataSet();
                    ds.Clear();
                    mySqlDataAdapter.Fill(ds);

                    MySqlCommandBuilder cb = new MySqlCommandBuilder(mySqlDataAdapter);

                    mySqlDataAdapter.UpdateCommand = cb.GetUpdateCommand();

                    DataTable dt = ds.Tables[0];
                    dt.Clear();

                    var StanjeSkladista = Klase.RacuniStavke.GetFromStanjeSkladista();

                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        try
                        {
                            if (Convert.ToInt32(dataGridView1.Rows[i].Cells["sifra"].Value) != 0)
                            {
                                Artikl art = new Artikl();
                                StanjeSkladista.TryGetValue(dataGridView1.Rows[i].Cells["sifra"].Value.ToString(), out art);


                                dt.Rows.Add(new String[] {
                                    listBox1.SelectedItem.ToString(),
                                    dataGridView1.Rows[i].Cells["sifra"].Value.ToString(),
                                    dataGridView1.Rows[i].Cells["naziv"].Value.ToString(),
                                    dataGridView1.Rows[i].Cells["kolicina"].Value.ToString(),
                                    art.min_mpc.ToString(),
                                    art.MPC.ToString(),
                                    dataGridView1.Rows[i].Cells["MPC_Popust"].Value.ToString(),
                                    dataGridView1.Rows[i].Cells["MPC_Prodano"].Value.ToString(),

                                    dataGridView1.Rows[i].Cells["index_stavke"].Value.ToString()
                                });
                            }


                            mySqlDataAdapter.Update(dt); //Updating the values but I only want to update if not the same
                        }
                        catch { };
                    }
                }
            }
        }
        public void QuoteAndUnquoteIdentifiers()
        {
            MySqlCommandBuilder cb = new MySqlCommandBuilder();
            Assert.AreEqual("`boo`", cb.QuoteIdentifier("boo"));
            Assert.AreEqual("`bo``o`", cb.QuoteIdentifier("bo`o"));
            Assert.AreEqual("`boo`", cb.QuoteIdentifier("`boo`"));

            // now do the unquoting
            Assert.AreEqual("boo", cb.UnquoteIdentifier("`boo`"));
            Assert.AreEqual("`boo", cb.UnquoteIdentifier("`boo"));
            Assert.AreEqual("bo`o", cb.UnquoteIdentifier("`bo``o`"));
        }
示例#54
0
        private void button1_Click(object sender, EventArgs e)
        {
            MySqlCommandBuilder mycb = new MySqlCommandBuilder(adapter);

            adapter.Update(myds, "機台資料表");
        }
        public void SpecialCharactersInFieldNames()
        {
            execSQL("CREATE TABLE Test (`col%1` int PRIMARY KEY, `col()2` int, `col<>3` int, `col/4` int)");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.ToString();  // keep the compiler happy
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow row = dt.NewRow();
            row[0] = 1;
            row[1] = 2;
            row[2] = 3;
            row[3] = 4;
            dt.Rows.Add(row);
            da.Update(dt);
        }
示例#56
0
        private void Machine_FormClosing(object sender, FormClosingEventArgs e)
        {
            int added    = 0;
            int deleted  = 0;
            int modified = 0;

            foreach (DataRow dr in myds.Tables["機台資料表"].Rows)

            {
                switch (dr.RowState)

                {
                case DataRowState.Added:

                    added++;

                    break;

                case DataRowState.Deleted:

                    deleted++;

                    break;

                case DataRowState.Modified:

                    modified++;

                    break;

                case DataRowState.Unchanged:

                    break;

                default:

                    break;
                }
            }

            if (added != 0 || deleted != 0 || modified != 0)
            {
                String result = "";

                result += (added == 0 ? "" : "【新增】 " + added + "筆新資料\n")
                          + (deleted == 0 ? "" : "【刪除】 " + deleted + "筆資料\n")
                          + (modified == 0 ? "" : "【變更】 " + modified + "筆資料\n")
                          + "要儲存嗎?";

                DialogResult dialogResult = MessageBox.Show(result, "要儲存嗎?", MessageBoxButtons.YesNoCancel);

                if (dialogResult == DialogResult.Yes)
                {
                    conn.Open();
                    MySqlCommandBuilder mycb = new MySqlCommandBuilder(adapter);
                    adapter.Update(myds, "機台資料表");
                    conn.Close();
                }
                else if (dialogResult == DialogResult.No)
                {
                    //do something
                }
                else if (dialogResult == DialogResult.Cancel)
                {
                    e.Cancel = true;
                }
            }
        }
        public void UsingFunctions()
        {
            execSQL("CREATE TABLE Test (id INT NOT NULL, name VARCHAR(100), dt DATETIME, tm TIME,  `multi word` int, PRIMARY KEY(id))");
            execSQL("INSERT INTO Test (id, name) VALUES (1,'test1')");
            execSQL("INSERT INTO Test (id, name) VALUES (2,'test2')");
            execSQL("INSERT INTO Test (id, name) VALUES (3,'test3')");

            MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name, now() as ServerTime FROM Test", conn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            DataTable dt = new DataTable();
            da.Fill(dt);

            dt.Rows[0]["id"] = 4;
            da.Update(dt);

            da.SelectCommand.CommandText = "SELECT id, name, CONCAT(name, '  boo') as newname from Test where id=4";
            dt.Clear();
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("test1", dt.Rows[0]["name"]);
            Assert.AreEqual("test1  boo", dt.Rows[0]["newname"]);

            dt.Rows[0]["id"] = 5;
            da.Update(dt);

            dt.Clear();
            da.SelectCommand.CommandText = "SELECT * FROM Test WHERE id=5";
            da.Fill(dt);
            Assert.AreEqual(1, dt.Rows.Count);
            Assert.AreEqual("test1", dt.Rows[0]["name"]);

            da.SelectCommand.CommandText = "SELECT *, now() as stime FROM Test WHERE id<4";
            cb = new MySqlCommandBuilder(da);
            cb.ConflictOption = ConflictOption.OverwriteChanges;
            da.InsertCommand = cb.GetInsertCommand();
        }
示例#58
0
        private void top10(DateTime beginDateTime, DateTime endDateTime)
        {
            //Hello sp



            // count menu items to make menu items list and amount
            MySqlCommand cmmd       = new MySqlCommand();
            string       queryCount = "SELECT * FROM `MENU-ITEM` ";
            int          listSize   = 0;

            connection.Open();
            //MySqlCommand cmmd = new MySqlCommand();
            cmmd.CommandText = queryCount;
            cmmd.Connection  = connection;
            try
            {
                adap  = new MySqlDataAdapter(cmmd);
                build = new MySqlCommandBuilder(adap);

                DataTable ds = new DataTable();
                adap.Fill(ds);

                menu = ds;
            }
            catch (Exception e)
            {
                MessageBox.Show("Error " + e.Message);
            }

            listSize             = menu.Rows.Count;
            int[,] menuItemsList = new int[listSize, 2];
            int j = 0;

            foreach (DataRow r in menu.Rows)
            {
                menuItemsList[j, 0] = int.Parse(r["Menu_Item_ID"].ToString());
                j++;
            }



            //listSize = cmd.ExecuteReader()["count"];
            connection.Close();

            /*string[] Top10names = new string[10];
             * int[] Top10amount = new int[10];*/

            // fill arrays
            string       menuQuery = "SELECT * FROM `MENU-ITEM`";
            MySqlCommand cmd       = new MySqlCommand(menuQuery, connection);

            /*
             * connection.Open();
             * //put in comand
             * MySqlCommand cmd = new MySqlCommand(menuQuery, connection);
             * MySqlDataReader dataR = cmd.ExecuteReader();
             * // data reader
             * while (dataR.Read())
             * {
             *  int menuItemID = int.Parse(dataR["Menu_Item_ID"] + "");
             *  for (int i = 0; i< listSize; i++)
             *  {
             *      menuItemsList[i,0] = menuItemID;
             *      menuItemsList[i, 1] = 0;
             *  }
             *
             * }
             *
             * dataR.Close();
             * connection.Close();*/

            /*for (int i = 0; i < 6; i++)
             * {
             *  menuItemsList[i, 0] = i+1;
             * }*/


            // go get orders in the selected time period
            int quantity = 0;
            int orderID  = 0;
            int menuID   = 0;

            menuQuery        = "SELECT * FROM ORDERS where Order_DateTime >= '" + beginDateTime.ToString("yyyy-MM-dd H:mm:ss") + "' AND Order_DateTime <= '" + endDateTime.ToString("yyyy-MM-dd H:mm:ss") + "'  ";
            cmmd             = new MySqlCommand();
            cmmd.CommandText = menuQuery;
            cmmd.Connection  = connection;
            try
            {
                adap  = new MySqlDataAdapter(cmmd);
                build = new MySqlCommandBuilder(adap);

                DataTable ds = new DataTable();
                adap.Fill(ds);

                order10 = ds;
            }
            catch
            {
            }

            foreach (DataRow r in order10.Rows)
            {
                // go get menu items connected to ID and add

                orderID = int.Parse(r["Order_ID"].ToString());
                int prodID = int.Parse(r["MenuItemID"].ToString());
                int count  = int.Parse(r["Quantity_Orderd"].ToString());

                for (int i = 0; i < listSize; i++)
                {
                    if (menuItemsList[i, 0] == prodID)
                    {
                        menuItemsList[i, 1] += count;
                    }
                }


                //menuQuery = "SELECT * FROM `ORDERS-DETAIL` WHERE Order_ID = '" + orderID + "'  ";

                //connection.Open();
                //put in comand
                //cmd = new MySqlCommand(menuQuery, connection);
                //MySqlDataReader dataR2 = cmd.ExecuteReader();
                // data reader

                /*while (dataR.Read())
                 * {
                 *  menuID = int.Parse(dataR["MenuItemID"] + "");
                 *  quantity = int.Parse(dataR["Quantity_Orderd"] + "");
                 *
                 *  for (int i = 0; i < listSize; i++)
                 *  {
                 *      if (menuItemsList[i, 0] == menuID)
                 *      {
                 *          menuItemsList[i, 1] += quantity;
                 *      }
                 *
                 *  }
                 *
                 * }*/

                // close data reader
                //dataR.Close();
                // close connection
                //connection.Close();
            }



            int temp1 = 0;
            int temp2 = 0;

            for (int i = 0; i < listSize; i++)
            {
                for (int k = 0; k < listSize - 1; k++)
                {
                    if (menuItemsList[k, 1] < menuItemsList[k + 1, 1])
                    {
                        temp1 = menuItemsList[k, 0];
                        temp2 = menuItemsList[k, 1];
                        menuItemsList[k, 0]     = menuItemsList[k + 1, 0];
                        menuItemsList[k, 1]     = menuItemsList[k + 1, 1];
                        menuItemsList[k + 1, 0] = temp1;
                        menuItemsList[k + 1, 1] = temp2;
                    }
                }
            }
            int p = listSize;

            for (int k = listSize - 1; (k >= 0) && (k >= listSize - 10); k--)
            {
                menuQuery = "SELECT * FROM `MENU-ITEM` WHERE `Menu_Item_ID` = '" + menuItemsList[k, 0] + "'  ";

                connection.Open();
                //put in comand
                cmd = new MySqlCommand(menuQuery, connection);
                MySqlDataReader dataR2 = cmd.ExecuteReader();
                // data reader
                while (dataR2.Read())
                {
                    listBoxTop10.Items.Add((p - k).ToString() + ". " + dataR2["Item_Name"] + "");
                    //MessageBox.Show((p - k) + " " + dataR2["Item_Name"]);
                }

                // close data reader
                dataR2.Close();
                // close connection
                connection.Close();
            }
            MessageBox.Show("Done");
        }
示例#59
0
        private void PurchaseOrderViewer_Load(object sender, EventArgs e)
        {
            //set start date parameter

            ParameterFields From = new ParameterFields();
            ParameterField  PID  = new ParameterField();

            PID.Name = "FromDate";
            ParameterDiscreteValue val = new ParameterDiscreteValue();

            val.Value = Reports.startDate;
            PID.CurrentValues.Add(val);
            From.Add(PID);
            porptviewer.ParameterFieldInfo = From;

            //set end date parameter
            ParameterField PID1 = new ParameterField();

            PID1.Name = "ToDate";
            ParameterDiscreteValue val1 = new ParameterDiscreteValue();

            val1.Value = Reports.endDate;
            PID1.CurrentValues.Add(val1);
            From.Add(PID1);
            porptviewer.ParameterFieldInfo = From;


            //create data table

            DataTable idtbl           = new DataTable();
            DataTable materialtblTemp = new DataTable();

            materialtbl.Columns.Add("po_id");
            materialtbl.Columns.Add("supplier_id");
            materialtbl.Columns.Add("creation_time");
            materialtbl.Columns.Add("material_id");
            materialtbl.Columns.Add("qty");
            materialtbl.Columns.Add("name");
            materialtbl.Columns.Add("recieved");

            //create po id table
            try
            {
                String query;
                if (Reports.sortbysupclient == false)
                {
                    query = "SELECT po_id, creation_time, supplier_id, recieved  FROM purchaseorder where  approval='Approved' AND creation_time between '" + Reports.startDate + "' and '" + Reports.endDate + "'  ";
                }
                else
                {
                    query = "SELECT po_id, creation_time, supplier_id, recieved  FROM purchaseorder where  approval='Approved' AND creation_time between '" + Reports.startDate + "' and '" + Reports.endDate + "'  AND supplier_id='" + Reports.supclientval + "' ";
                }
                var dataAdapter    = new MySqlDataAdapter(query, DatabaseHandler.MySQLConnectionString);
                var commandBuilder = new MySqlCommandBuilder(dataAdapter);
                dataAdapter.Fill(idtbl);
                if (idtbl.Rows.Count == 0)
                {
                    MessageBox.Show("NO Entries available");
                    this.Close();
                    return;
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Error Occured! ");
                Console.WriteLine(er.Message);
                return;
            }
            Console.WriteLine("id tbl rows" + idtbl.Rows.Count);

            int noOfRows = idtbl.Rows.Count;

            for (int i = 0; i < noOfRows; i++)
            {
                try
                {
                    String query          = "SELECT purchaseorder_item.po_id ,purchaseorder_item.material_id ,purchaseorder_item.qty , raw_material.name FROM purchaseorder_item INNER JOIN raw_material ON purchaseorder_item.material_id = raw_material.material_id  where purchaseorder_item.po_id= '" + idtbl.Rows[i][0].ToString() + "' ";
                    var    dataAdapter    = new MySqlDataAdapter(query, DatabaseHandler.MySQLConnectionString);
                    var    commandBuilder = new MySqlCommandBuilder(dataAdapter);
                    dataAdapter.Fill(materialtblTemp);
                    Console.WriteLine(materialtblTemp.Rows.Count);
                    if (materialtblTemp.Rows.Count == 0)
                    {
                        MessageBox.Show("Error Occured! Please check input details!");
                        return;
                    }
                }
                catch (Exception er)
                {
                    MessageBox.Show(er.Message);
                }
            }
            int noOfRows2 = materialtblTemp.Rows.Count;

            for (int i = 0; i < noOfRows2; i++)
            {
                DataRow rw = materialtbl.NewRow();
                rw["po_id"]       = materialtblTemp.Rows[i][0];
                rw["material_id"] = materialtblTemp.Rows[i][1];
                rw["qty"]         = materialtblTemp.Rows[i][2];
                rw["name"]        = materialtblTemp.Rows[i][3];

                for (int j = 0; j < noOfRows; j++)
                {
                    if (materialtblTemp.Rows[i][0].ToString() == idtbl.Rows[j][0].ToString())
                    {
                        rw["supplier_id"]   = idtbl.Rows[j][2];
                        rw["creation_time"] = idtbl.Rows[j][1];
                        rw["recieved"]      = idtbl.Rows[j][3];
                    }
                }
                materialtbl.Rows.Add(rw);
            }

            int noOfRows3 = materialtbl.Rows.Count;

            materialsumtbl.Columns.Add("material_id");
            materialsumtbl.Columns.Add("name");
            materialsumtbl.Columns.Add("qty");
            int noOfRows4 = 0;

            for (int i = 0; i < noOfRows3; i++)
            {
                noOfRows4 = materialsumtbl.Rows.Count;
                int count = 0;
                for (int j = 0; j < noOfRows4; j++)
                {
                    if (materialtbl.Rows[i][3].ToString() == materialsumtbl.Rows[j][0].ToString())
                    {
                        materialsumtbl.Rows[j][2] = Convert.ToDouble(materialtbl.Rows[i][4].ToString()) + Convert.ToDouble(materialsumtbl.Rows[j][2].ToString());
                        count++;
                    }
                }
                if (count == 0)
                {
                    DataRow rw = materialsumtbl.NewRow();
                    rw["material_id"] = materialtbl.Rows[i][3];
                    rw["qty"]         = materialtbl.Rows[i][4];
                    rw["name"]        = materialtbl.Rows[i][5];
                    materialsumtbl.Rows.Add(rw);
                }
            }

            if (Reports.summarize == true)
            {
                CrystalReports.purchaseOrderSummarizedReport materialsumrpt = new CrystalReports.purchaseOrderSummarizedReport();

                materialsumrpt.Database.Tables["materialsumtbl"].SetDataSource(materialsumtbl);
                porptviewer.ReportSource = null;
                porptviewer.ReportSource = materialsumrpt;
            }
            else
            {
                CrystalReports.purchaseOrder_rpt po_order_rpt = new CrystalReports.purchaseOrder_rpt();
                po_order_rpt.Database.Tables["materialtbl"].SetDataSource(materialtbl);


                porptviewer.ReportSource = null;
                porptviewer.ReportSource = po_order_rpt;
            }
        }
示例#60
0
        //public static DataSet Query(string sql) { // ikke bruk denne

        //	if (!initialized) return null;

        //	if (conn == null || conn.State == ConnectionState.Closed) {
        //		Console.WriteLine("Query: Ingen database er tilkoblet");
        //		return null;
        //	}

        //	MySqlCommand cmd = new MySqlCommand(sql, conn);
        //	MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        //	MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
        //	DataSet qds = new DataSet("result");
        //	da.Fill(qds, "result");

        //	Console.WriteLine(sql);

        //	return qds;
        //}

        // Legg inn en rad i en angitt tabell
        public static bool InsertRow(string tableName, DataRow rowData)
        {
            if (!initialized || (!usingLocalDatabase && !CheckConnection()))
            {
                return(false);
            }

            if (tableName == "booking")
            {
                DataRow newRow = bookingTable.NewRow();
                newRow[0] = rowData[0];
                newRow[1] = rowData[1];
                newRow[2] = rowData[2];
                newRow[3] = rowData[3];
                newRow[4] = rowData[4];
                bookingTable.Rows.Add(newRow);

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daBooking);
                    daBooking.Update(ds, "booking");
                }
            }
            else if (tableName == "ansatte")
            {
                DataRow newRow = employeesTable.NewRow();
                newRow[0] = rowData[0];
                newRow[1] = rowData[1];
                newRow[2] = rowData[2];
                newRow[3] = rowData[3];
                newRow[4] = rowData[4];
                employeesTable.Rows.Add(newRow);

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daEmployees);
                    daEmployees.Update(ds, "ansatte");
                }
            }
            else if (tableName == "bestillinger")
            {
                DataRow newRow = ordersTable.NewRow();
                newRow[0] = rowData[0];
                newRow[1] = rowData[1];
                newRow[2] = rowData[2];
                newRow[3] = rowData[3];
                newRow[4] = rowData[4];
                newRow[5] = rowData[5];
                newRow[6] = rowData[6];
                newRow[7] = rowData[7];
                ordersTable.Rows.Add(newRow);

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daOrders);
                    daOrders.Update(ds, "bestillinger");
                }
            }
            else if (tableName == "rom")
            {
                DataRow newRow = roomTable.NewRow();
                newRow[0] = rowData[0];
                newRow[1] = rowData[1];
                roomTable.Rows.Add(newRow);

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daRoom);
                    daRoom.Update(ds, "rom");
                }
            }
            else if (tableName == "romtyper")
            {
                DataRow newRow = roomTypesTable.NewRow();
                newRow[0] = rowData[0];
                newRow[1] = rowData[1];
                newRow[2] = rowData[2];
                roomTypesTable.Rows.Add(newRow);

                if (!usingLocalDatabase)
                {
                    MySqlCommandBuilder cb = new MySqlCommandBuilder(daRoomTypes);
                    daRoomTypes.Update(ds, "romtyper");
                }
            }

            string outputString = "";

            for (int i = 0; i < rowData.ItemArray.Length; i++)
            {
                outputString += rowData[i].ToString() + ", ";
            }
            Console.WriteLine("INSERT: " + outputString + "INTO " + tableName);

            ds.AcceptChanges();
            OnUpdate();

            return(true);
        }