XuGang

记录一个程序员的成长

 

DotNET使用CoreLab推出的MYSQL访问组件示例(学习)


DotNET连接MYSQL数据库有三种方法:
方法一:
使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL
该组件为MYSQL为ADO.NET访问MYSQL数据库设计的.NET访问组件。
安装完成该组件后,引用命名空间MySql.Data.MySqlClient;
使用命令行编译时:csc /r:MySql.Data.dll test.cs
方法二:
通过ODBC访问MYSQL数据库
访问前要先下载两个组件:odbc.net和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版,安装完成后,即可通过ODBC访问MYSQL数据库。
方法三:
使用CoreLab推出的MYSQL访问组件,面向.NET
安装完成后,引用命名空间:CoreLab.MySql;
使用命令编译时:csc /r:CoreLab.MySql.dll test.cs

以下为访问MYSQL数据库实例
编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs
using System;
using System.Net;
using System.Text;
using CoreLab.MySql;
using System.Data.Odbc;
using MySql.Data.MySqlClient;

class ConnectMySql
{
  
public void Connect_CoreLab()
  {
    
string constr = "User Id=root;Host=localhost;Database=qing;password=qing";
    MySqlConnection mycn 
= new MySqlConnection(constr);
    mycn.Open();
    MySqlCommand mycm 
= new MySqlCommand("select * from shop",mycn);
    MySqlDataReader msdr 
= mycm.ExecuteReader();
    
while(msdr.Read())
    {
      
if (msdr.HasRows)
      {
        Console.WriteLine(msdr.GetString(
0));
      }
    }
    msdr.Close();
    mycn.Close();
  }

  
public void Connect_Odbc()
  {
    
//string MyConString ="DSN=MySQL;UID=root;PWD=qing"; 
     string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + 
                                  
"SERVER=localhost;" +
                                  
"DATABASE=test;" +
                                  
"UID=root;" +
                                  
"PASSWORD=qing;" +
                                  
"OPTION=3";
    OdbcConnection MyConn 
= new OdbcConnection(MyConString);
    MyConn.Open();
    OdbcCommand mycm 
= new OdbcCommand("select * from hello",MyConn);
    OdbcDataReader msdr 
= mycm.ExecuteReader();
    
while(msdr.Read())
    {
      
if (msdr.HasRows)
      {
        Console.WriteLine(msdr.GetString(
0));
      }
    }
    msdr.Close();
    MyConn.Close();
  }

  
public void Connect_Net()
  {
    
string myConnectionString = "Database=test;Data Source=localhost;User Id=root;Password=qing";
    MySqlConnection mycn 
= new MySqlConnection(myConnectionString);
    mycn.Open();
    MySqlCommand mycm 
= new MySqlCommand("select * from hello",mycn);
    MySqlDataReader msdr 
= mycm.ExecuteReader();
    
while(msdr.Read())
    {
      
if (msdr.HasRows)
      {
        Console.WriteLine(msdr.GetString(
0));
      }
    }
    msdr.Close();
    mycn.Close();
  }

  
public static void Main()
  {
    ConnectMySql ms 
= new ConnectMySql();
    ms.Connect_CoreLab();
    ms.Connect_Odbc();
    Connect_Net();
  }
}


附:使用corelab的 oradirect.net data provider 也能连接并访问oracle数据库。不过,corelab的oradirect.net data provider 连接组件不是免费的,下载的demo版只能读取前8列。

来源:http://school.ogdev.net/ArticleShow.asp?id=3550&categoryid=19

posted on 2008-02-23 21:42  钢钢  阅读(2251)  评论(7编辑  收藏  举报

导航