C# web访问mysql数据库-整理归纳总结
基本对比
使用方式 | 使用场合 | 优缺点 | 是否需要安装 | 需要的dll网址 | |
引用方式 | 程序内引用 | 程序初期确定使用MySql,前期添加引用 | 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置代码的类文件中 |
可以安装,也可以直接引用dll 多数情况下直接引用即可 |
|
web.config引用 | 后期维护接口发现程序内需要使用,这时不方便更改原有程序引用 | 多数时候使用于没有后置代码的aspx、ashx等文件上 | |||
ODBC方式 | 配置系统内数据源 | 程序创建初期,后期均可以使用 |
适用于页面文件(aspx、ashx),也适用于带有后置代码的类文件(aspx.cs、ashx.cs) 这样程序调用的时候多数要使用ado.net的odbc对象 |
必须安装 | |
程序内直接引用数据源 | 程序创建初期,后期均可以使用 |
一、使用引用方式
1.1 程序内引用
使用前提:(使用一种即可)
1. 在web程序中,引用—》添加引用—》程序集—》扩展下,前提是安装了mysql-connector-net
2. 手工下载MySql.Data.dll,然后添加引用
注意:这种方式一般使用于存有“代码后置”的页面文件aspx(aspx.cs)、ashx(ashx.cs)
使用:
1.添加引用:using MySql.Data. MySqlClient;
2.现在页面就可以使用了
测试代码:
1 System.Data.DataSet ds = new System.Data.DataSet(); 2 string connStr = @"Database=testss;Data Source=172.168.0.234;User Id=root;Password=shinevod"; 3 string sqlList = "select * from sms_outbox"; 4 try 5 { 6 using (MySql.Data.MySqlClient.MySqlDataAdapter dataAapter = new MySql.Data.MySqlClient.MySqlDataAdapter(sqlList, connStr)) 7 { 8 dataAapter.Fill(ds); 9 Response.Write(ds.GetXml()); 10 } 11 } 12 catch 13 { }
1.2 web.config方式引用
使用前提:(使用一种即可)
1. 在web程序中,引用—》添加引用—》程序集—》扩展下,前提是安装了mysql-connector-net
2. 手工下载MySql.Data.dll,然后添加引用(这种情况一般选用这个比较方便,不需要安装)
注意:如果已经完成的项目突然有数据库mysql接口的需求,又不能在服务器上随便安装程序(主要是怕影响其他软件),一般使用于代码没有后置的网页文件如aspx,ashx
使用:
1. 手工下载MySql.Data.dll,放置网站bin下(如果没有安装mysql-connector-net)
2.在网站的web.config中添加节点(版本号根据自己使用的适当变换)
1 <system.web> 2 <compilation debug="true" targetFramework="4.0"> 3 <assemblies> 4 <add assembly="MySql.Data,Version=6.6.4.0,Culture=neutral,PublicKeyToken=C5687FC88969C44D"/> 5 </assemblies> 6 </compilation> 7 </system.web>
3.这时网页上可以使用了
1 System.Data.DataSet ds = new System.Data.DataSet(); 2 string connStr = @"Database=testss;Data Source=172.168.0.234;User Id=root;Password=shinevod"; 3 string sqlList = "select * from sms_outbox"; 4 try 5 { 6 using (MySql.Data.MySqlClient.MySqlDataAdapter dataAapter = new MySql.Data.MySqlClient.MySqlDataAdapter(sqlList, connStr)) 7 { 8 dataAapter.Fill(ds); 9 Response.Write(ds.GetXml()); 10 } 11 } 12 catch 13 { }
二、使用ODBC方式
2.1 配置系统数据源
使用前提:下载: http://dev.mysql.com/downloads/connector/odbc/,之后进行安装
注意:下载时候使用的版本号,以及操作系统(主要指windows)位数
使用:
1.添加系统数据源
win7(其他的系统差不多):“控制面板”—》“管理工具”—》“数据源(ODBC)”—》用户DSN—》添加
2. 程序调用
1 System.Data.DataSet ds = new System.Data.DataSet(); 2 string str = @"DSN=mysqltest";//设置Connection属性,使用MySql DSN 3 string sqlList = "select * from sms_outbox"; 4 try 5 { 6 using (System.Data.Odbc.OdbcDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter(sqlList, str)) 7 { 8 dataAdapter.Fill(ds); 9 Response.Write(ds.GetXml()); 10 } 11 } 12 catch (Exception ex) 13 { Response.Write(ex.ToString()); }
2.2 程序内调用驱动
使用前提:下载: http://dev.mysql.com/downloads/connector/odbc/,之后进行安装
注意:下载时候使用的版本号,以及操作系统(主要指windows)位数
使用:
1.安装odbc成功后,程序直接调用
1 System.Data.DataSet ds = new System.Data.DataSet(); 2 string strCon = @"Driver=MySql ODBC 5.2 Unicode Driver;Server=172.168.0.234;Database=testss;UID=root;pwd=shinevod"; 3 string sqlList1 = "select * from sms_outbox"; 4 try 5 { 6 using (System.Data.Odbc.OdbcDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter(sqlList1, strCon)) 7 { 8 dataAdapter.Fill(ds); 9 Response.Write(ds.GetXml()); 10 } 11 } 12 catch (Exception ex) 13 { Response.Write(ex.ToString()); }