C#中使用Odbc连接Mysql数据库

来源:互联网 发布:canvas2image.js 编辑:程序博客网 时间:2024/05/17 05:57

项目需要,故需用到,现总结如下:

进行连接之前,需要进行Odbc数据源的设置,具体方式,网上很多,可以查询:

建立之前,需要安装

1、ODBC.NET(全称ODBC .NET Data Provider)是一个免费的.NET Framework附加组件,需要到微软公司的网站上去下载,下载地址为:http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msi,它需要系统已经安装MDAC 2.7或者更高版本。

2、还需要安装MySQL的ODBC驱动程序,下载地址为:http://www.mysql.com/downloads/connector/odbc/

之后可以建立ODBC数据源,依次打开:我的电脑 - 控制面板 - 管理工具 - 数据源(ODBC)-点击“系统DNS” 选择右边的添加,在弹出的框中拉到后面,选择“Mysql ODBC5.3 Unicode Driver”,这个名字根据你的驱动版本不同会有所差异。点击完成我的配置如下

之后是在VS2010里面的操作:

连接后的状态:



之后就是程序方面的配置:

//连接数据库        bool mysqlState = false;        public string MyConString;        OdbcConnection MyLPRS;       bool connectMysql()        {            string MyConString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};" +                                      "SERVER=localhost;" +                                      "DATABASE=licenseplate;" +                                      "UID=root;" +                                      "PASSWORD=mysql890806;" +                                      "OPTION=3";            MyLPRS = new OdbcConnection(MyConString);            MyLPRS.Open();            mysqlState = true;            return mysqlState;           }
 //将识别结果写入数据库                    if (mysqlState == false)                    {                        connectMysql();                        mysqlState = true;                    }                    DateTime time = System.DateTime.Now;                    string query = "insert into plate (result, time) values ('"+recognizeResult.Text+"','" + time + "')";                    OdbcCommand cmd = new OdbcCommand(query, MyLPRS);                    try                    {                        cmd.ExecuteNonQuery();                    }                    catch (Exception ex)                    {                        //Console.WriteLine("record duplicate.");                    }                    finally                    {                        cmd.Dispose();                    }


0 0