vs2008下c#连接MySQL数据库

 使用MySql.Data.dll(5.0.9.0)组件来实现,先安装,后在引用中添加刚才安装的MySQL.Data,在头文件中添加using MySql.Data.MySqlClient;

            MySqlConnection Conn = new MySqlConnection("Database='"+database+"';Data Source='"+local+"';User Id='"+user+"';Password='"+password+"'");//连接MySQL数据库
           
            MySqlDataAdapter Da = new MySqlDataAdapter("select distinct name,id,pin_all from "+table+" ", Conn);
            DataTable Dt = new DataTable();
            Da.Fill(Dt);

这些是连接MySQL数据库的代码;

        public static long RunSqlDatacmd(string sql)
        {
            MySqlConnection dbconn = new MySqlConnection("Database='" + database + "';Data Source='" + local + "';User Id='" + user + "';Password='" + password + "';charset=utf8 ");
            MySqlCommand cmd = dbconn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = sql;
            long ret = 0;
            try
            {
                if (cmd.Connection.State == ConnectionState.Broken)
                {
                    cmd.Connection.Close();
                    cmd.Connection.Open();
                }
                else if (cmd.Connection.State == ConnectionState.Closed)
                {
                    cmd.Connection.Open();
                }
                // else if (cmd.Connection.State == ConnectionState.Open)
                // {
                ret = cmd.ExecuteNonQuery();
                // }
                //else
                // {
                //     ret = -102;
                // }
            }
            catch (Exception ex)
            {
                string m = ex.Message;
                ret = -5;
            }
            cmd.Dispose();
            dbconn.Close();
            return ret;
        }

这个是执行sql语句的代码,在执行代码中,一定要指定编码方式,和数据中插入表的要一致,不然的话汉字会出现乱码,我刚开始时没有指定,结果乱码问题没有解决,即使在网上也找不到理由,这点是我想和大家分享的地方。

你可能感兴趣的:(vs2008下c#连接MySQL数据库)