C#访问MySQL出现乱码的解决方案

by alpha 1. February 2008 23:19

来自CSDN下载频道:

修改my.ini文件
default-character-set=utf8
到这位老兄的资源下载mysql for .net2.0的ODBC驱动
http://download.csdn.net/source/214322
安装完毕之后就可以在VS2005的服务器资源管理器中添加数据连接
在数据源选项中点击[更改]选择其他,你会在[数据提供程序]中看到.NET Framework Data Provider for MySQL
server name填写你的mysql服务器的ip地址,本机填写localhost
user name 和password 和database name照实填写,选择save my password
然后进入[高级]选项
将advanced中的character set 设置为utf8 点击[确定]至此所有设置完毕
测试连接----提示连接正常
生成的连接字符串如下
server=localhost;user id=root;Password=root;persist security info=True;database=webdata;character set=utf8//密码是隐藏的,其实字符串中不会出现密码,但是在asp.net中会在web配置文件中出现密码

连接字符串中的character set一定要和数据库的character set一致!

使用 MySql.Data.MySqlClient这个名空间来连接 MySQL 服务器。
在C#中,可以使用using语句来引入MySQL数据接口:

using MySql.Data.MySqlClient;

指定了名空间后,我们就可以和MySQL数据库进行数据交互了。
MySql.Data.MySqlClient这个名空间提供了许多用于处理MySQL数据的类。
下面是这些类的一个样本:

  * MySqlConnection: 管理和 MySQL 服务器/数据库的连接;

  * MySqlDataAdapter: 一套用于填充DataSet对象和更新MySQL数据库的命令和连接的集合;

  * MySqlDataReader: 让你能够从一个 MySQL 数据库读取数据。它是一个单向的数据流;

  * MySqlCommand: 提供向数据库服务器发送指令的功能;

  * MySqlException: 当发生问题时提供例外处理。

  ASP.NET和MySQL的组合
  用 MySqlCommand 对象向MySQL服务器发送 SHOW DATABASES 命令和直接在 MySQL 管理工具中输入这个命令得结果是一样的。唯一的区别是,我们在代码中必须使用另一个对象来获取结果集。MySqlDataReader 对象在获取结果时被实例化(通过 MySqlCommand 类的 ExecuteReader 方法)。MySqlDataReader 对象的 GetString 方法被用于通过ASP.NET的标签控制来显示结果集中的数据。GetString 方法的指针0指定了显示结果集的当前行(在while循环中)的第一列数据。
=============================================================================================================
连接:

  string connStr = "server=localhost;user id=root; password=; database=aa; pooling=false";//

连接字符串

以下为引用的内容:
MySqlConnection conn = new MySqlConnection( connStr );//构造数据库连接

  try
  {
   conn.Open();//打开连接
   MySqlCommand cmd = new MySqlCommand("select * from user",conn);//构造查询命令
   this.DataGrid1.DataSource=cmd.ExecuteReader();//执行查询,返回一个DataReader,设置DataGrid1的数据源为该DataReader
   this.DataGrid1.DataBind();//DataGrid1数据绑定
   conn.Close();//关闭连接  
  }
  catch(MySqlException ex) //捕获异常
  {
   Response.Write(ex.Message);//向页面写异常 

  } 

Tags: Views:2279

SqlServer

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen  浙ICP备09023819号  

关于作者

Alpha

1.男
2.已婚
3.网虫
4.宝宝叫yoyo

Calendar

<<  July 2010  >>
MondayTuesdayWednesdayThursdayFridaySaturdaySunday
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar

RecentComments

Comment RSS