现在的位置: 首页 > 综合 > 正文

C# web访问mysql数据库

2016年12月10日 ⁄ 综合 ⁄ 共 3037字 ⁄ 字号 评论关闭

基本对比


Connector/Net
6.7.4

Connector/ODBC

一、使用引用方式

1.1 程序内引用

使用前提:(使用一种即可)
1. 在web程序中,引用—》添加引用—》程序集—》扩展下,前提是安装了mysql-connector-net
2. 手工下载MySql.Data.dll,然后添加引用

注意:这种方式一般使用于存有“代码后置”的页面文件aspx(aspx.cs)、ashx(ashx.cs)

使用:
1.添加引用:using MySql.Data. MySqlClient; 
2.现在页面就可以使用了

测试代码:

[WebMethod]
        public String getDataFromDatabase()
        {

            System.Data.DataSet ds = new System.Data.DataSet();
            string connStr = @"Database=school;Data Source=localhost;User Id=root;Password=root";
            string sqlList = "select * from student";
            String str = "null";
            try
            {
                using (MySql.Data.MySqlClient.MySqlDataAdapter dataAapter = new MySql.Data.MySqlClient.MySqlDataAdapter(sqlList, connStr))
                {
                    dataAapter.Fill(ds);
                    str = ds.GetXml();

                }
            }
            catch
            {
                str = "excetion";
            }

           return str;

        }

1.2 web.config方式引用

使用前提:(使用一种即可)
1. 在web程序中,引用—》添加引用—》程序集—》扩展下,前提是安装了mysql-connector-net
2. 手工下载MySql.Data.dll,然后添加引用(这种情况一般选用这个比较方便,不需要安装)

注意:如果已经完成的项目突然有数据库mysql接口的需求,又不能在服务器上随便安装程序(主要是怕影响其他软件),一般使用于代码没有后置的网页文件如aspxashx

使用:

1. 手工下载MySql.Data.dll,放置网站bin下(如果没有安装mysql-connector-net)
2.在网站的web.config中添加节点(版本号根据自己使用的适当变换)

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
  </system.web>
  <system.webServer>
    <directoryBrowse enabled="true"/>
  </system.webServer>
  <appSettings>
    <add key="MySQL" value="Database=school;Data Source=localhost;User Id=root;Password=root;charset=utf8" />
  </appSettings>
</configuration>

3.这时网页上可以使用了

 public static int ExecuteNonQuery(string SQLString)
        {
            string connectionString = ConfigurationManager.AppSettings["MySQL"];
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
                {
                    try
                    {
                        connection.Open();
                        int rows = cmd.ExecuteNonQuery();
                        return rows;
                    }
                    catch (MySqlException e)
                    {
                        connection.Close();
                       // throw e;
                        System.Diagnostics.Debug.WriteLine(e);
                        return 0;
                    }
                }
            }
        }

二、使用ODBC方式

2.1
配置系统数据源

使用前提:下载: http://dev.mysql.com/downloads/connector/odbc/,之后进行安装

注意:下载时候使用的版本号,以及操作系统(主要指windows)位数

使用:
1.添加系统数据源
win7(其他的系统差不多):“控制面板”—》“管理工具”—》“数据源(ODBC)”—》用户DSN—》添加


2.
程序调用

 System.Data.DataSet ds = new System.Data.DataSet();
             string str = @"DSN=mysqltest";//设置Connection属性,使用MySql DSN
              string sqlList = "select * from sms_outbox";
             try
             {
                  using (System.Data.Odbc.OdbcDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter(sqlList, str))
                  {
                     dataAdapter.Fill(ds);
                      Response.Write(ds.GetXml());
                }
             }
             catch (Exception ex)
             { Response.Write(ex.ToString()); } 

2.2 程序内调用驱动 

使用前提:下载: http://dev.mysql.com/downloads/connector/odbc/,之后进行安装

注意:下载时候使用的版本号,以及操作系统(主要指windows)位数

使用:

1.安装odbc成功后,程序直接调用

 System.Data.DataSet ds = new System.Data.DataSet();
             string strCon = @"Driver=MySql ODBC 5.2 Unicode Driver;Server=172.168.0.234;Database=testss;UID=root;pwd=shinevod";
              string sqlList1 = "select * from sms_outbox";
              try
             {
                  using (System.Data.Odbc.OdbcDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter(sqlList1, strCon))
                 {
                    dataAdapter.Fill(ds);
                     Response.Write(ds.GetXml());
                 }
             }
             catch (Exception ex)
            { Response.Write(ex.ToString()); } 

原文地址:http://blog.csdn.net/dyllove98/article/details/9255911

抱歉!评论已关闭.