C#和Mysql数据库一些操作

public static MySqlConnection getMySqlCon1WithSecondComputer()
        {
           String mysqlStr = "Database=secondcomputer;Data Source=127.0.0.1;User                                                                 Id=root;Password=123456;pooling=false;CharSet=utf8;port=3306";
                         // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
            MySqlConnection mysql = new MySqlConnection(mysqlStr);
            return mysql;

        }

 public static MySqlDataAdapter getSqlDataAdapter(String sql, MySqlConnection mysql)
        {
            MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(sql, mysql);
            
            //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
            // mySqlCommand.Connection = mysql;
            return mySqlDataAdapter;
        }
        public static MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
        {
            MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
            //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
            // mySqlCommand.Connection = mysql;
            return mySqlCommand;
        }
        /// <summary>
        /// 查询并获得结果集并遍历
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static string getResultset(MySqlCommand mySqlCommand, int itemNumbers)
        {
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            string messageConcat = string.Empty;
            try
            {
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        messageConcat = reader.GetInt16(0).ToString() + ";";
                        for (int i = 1; i < itemNumbers; i++)
                        {
                            messageConcat += reader.GetString(i) + ";";
                        }
                        //Console.WriteLine(reader.GetString(0) + "..." + reader.GetString(1) + "..." + reader.GetString(2));
                    }
                }
                return messageConcat;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return "查询失败了!";
            }
            finally
            {
                reader.Close();
            }
        }


        /// <summary>
        /// 查询并获得结果集并遍历//目前有个bug只能查询一行的数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static Dictionary<string, string> getMessageDictionary(MySqlCommand mySqlCommand, string schemaName, string tableName)
        {
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            Dictionary<string, string> dict = new Dictionary<string, string>();
            List<string> list = getSqlColumnName(schemaName, tableName);
            try
            {
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        for (int i = 0; i < list.Count; i++)
                        {
                            if (reader.GetString(i)!=null)
                            {
                                dict.Add(list[i], reader.GetString(i));
                            }
                            else
                            {
                                dict.Add(list[i], "");
                            }
                        }
                        //Console.WriteLine(reader.GetString(0) + "..." + reader.GetString(1) + "..." + reader.GetString(2));
                    }
                  
                }
                if (reader.Read()==false)             
                {
                    if (reader.HasRows)
                    {
                        for (int i = 0; i < list.Count; i++)
                        {
                            dict.Add(list[i], "");
                        }
                    }
                }
                return dict;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return dict;
            }
            finally
            {
                reader.Close();
            }
        }


        /// <summary>
        /// 查询列名
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static List<string> getSqlColumnName(string schemaName, string tableName)
        {
            MySqlConnection mysql = getMySqlCon1WithSecondComputer();
            List<string> columnName = new List<string>();
            string sql = "select column_name from information_schema.columns where table_schema='" + schemaName + "' and table_name='" + tableName + "' ";
            try
            {
                mysql.Open();
                MySqlCommand mySqlCommand = LocalRetrospect.getSqlCommand(sql, mysql);
                //SqlCommand com = new SqlCommand(sql, mysql);
                MySqlDataReader reader = mySqlCommand.ExecuteReader();
                while (reader.Read())
                {
                    columnName.Add(reader[0].ToString());
                }
                reader.Close();
                mysql.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }


            return columnName;
        }
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getInsert(MySqlCommand mySqlCommand)
        {
            try
            {
                mySqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                String message = ex.Message;
                Console.WriteLine("插入数据失败了!" + message);
            }


        }
        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getUpdate(MySqlCommand mySqlCommand)
        {
            try
            {
                mySqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                String message = ex.Message;
                Console.WriteLine("修改数据失败了!" + message);
            }
        }
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getDel(MySqlCommand mySqlCommand)
        {
            try
            {
               mySqlCommand.ExecuteNonQuery();
               MessageBox.Show(mySqlCommand.ExecuteNonQuery().ToString());
            }
            catch (Exception ex)

            {

}

  public static int getDataNumber(string tableName)//获取表格的数据数目,也可以说是行数
        {
            MySqlConnection mysql = getMySqlCon1WithSecondComputer();
            try
            {
                string sqlMsg = "select count(*)as cnt from " + tableName;
                MySqlDataAdapter mySqlCommand = getSqlDataAdapter(sqlMsg, mysql);
                mysql.Open();
                DataSet ds = new DataSet();
                mySqlCommand.Fill(ds);
                mysql.Close();
                return Convert.ToInt16(ds.Tables[0].Rows[0][0]);


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                String message = ex.Message;
                Console.WriteLine("失败了!" + message);
                return -1;
            }
        }
        public static void write_Message()//写读取指定表格的相关信息
        {
            try
            {
                MySqlConnection mysql = getMySqlCon1WithSecondComputer();
                String sqlInsert = "insert into 表格名(键名,键名) values ('" +值+ "','" +值 + "')";
                MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);
                mysql.Open();
                //getResultset(mySqlCommand);
                getInsert(mySqlCommand);
                preholder_sn_1["preholder_sn_1"] = "";
                preholder_sn_1["preholder_sn_time"] = "";
                mysql.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return;
            }

        }

这里是一些控件绑定数据库的例子

 private void button1_Click(object sender, EventArgs e)
        {
                      
            MySqlConnection myconn = null;
            MySqlCommand mycom = null;
            MySqlDataAdapter myrec = null;
            myconn = new MySqlConnection("Host =127.0.0.1;Database=st10data;Username=root;Password=123456");
            myconn.Open();
            mycom = myconn.CreateCommand();
            mycom.CommandText = "SELECT *FROM st10_burn_mcu_message";
            MySqlDataAdapter adap = new MySqlDataAdapter(mycom);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            string sql = string.Format("select * from st10_burn_mcu_message");
            mycom.CommandText = sql;
            mycom.CommandType = CommandType.Text;
            MySqlDataReader sdr = mycom.ExecuteReader();
            int i = 0;
            while (sdr.Read())
            {
                listView1.Items.Add(sdr[0].ToString());
                listView1.Items[i].SubItems.Add(sdr[1].ToString());
                i++;
            }
            myconn.Close();
        }
        private void bindListCiew()
        {
            this.listView1.Columns.Add("学生");
            this.listView1.Columns.Add("ID");
            this.listView1.Columns.Add("ID");
            this.listView1.View = System.Windows.Forms.View.Details;


        }


猜你喜欢

转载自blog.csdn.net/qq_20410891/article/details/80569354