C# 连接mysql数据库

最近公司使用discuz做了一个网站,上面加了一个核价功能,同时老板说要做一个桌面客户端程序,也能自动核价。因为discuz 使用的是mysql数据库,而我只对c#熟悉,于是在网上找了一些资料,现在整理下。

在网上有两种方法,可以通过c#连接mysql 在这里只说这一种,因为这种是我尝试成功的,另外一种,我还没研究,暂时不发表意见

首先下载mysql的 .net驱动程序。。博文最后附有驱动的下载地址

然后在项目里引用下,如图:


[img]http://dl.iteye.com/upload/attachment/450393/af3f99c8-7d98-332b-b23e-eac59148a627.jpg[/img]


然后简单写一个数据库连接类,如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySQLDriverCS;//引入mysql .net驱动程序
using System.Data;

namespace WindowsFormsApplication3.Common
{
class DB
{
MySQLConnection conn = null;
//构造函数,设置数据库连接 设置数据库编码
public DB()
{
conn = new MySQLConnection(new MySQLConnectionString("localhost", "yindan", "root", "").AsString);//构造连接字符串,连接数据库
conn.Open();//打开连接
MySQLCommand command = new MySQLCommand("SET NAMES gbk",conn);
command.ExecuteNonQuery();
//设置字符编码及执行无返回值的查询,在这里要注意下,在php里面,页面,这个地方,和创建数据库时,编码要保持一致,因为我使用的是utf8编码,我开始的时候,在这里设置的也是utf8,但是在datagridview里显示的是乱码,当我在这里改了之后,就显示正常了,这个我还不太清楚原因,貌似是要想显示中文就需要使用gbk或者是gb2312,个人观点
}

//在这里要注意下,要使用DataSet这个东西,要引入System.Data这个命名空间
public DataSet getPsize()
{
string sql = "select * from pre_home_psize";
MySQLDataAdapter myadp = new MySQLDataAdapter(sql, this.conn);
//声明数据适配器,执行数据查询
DataSet ds = new DataSet();//声明数据集
myadp.Fill(ds, "psize");//把查到的结果填充到数据集中
conn.Close();//关闭连接
return ds;//返回数据集,用于绑定控件作为数据源
}


}
}




下面我们看下前台窗体里的显示,在窗体上拖一个dataGridView,然后双击窗体,会自动定位到编写窗体载入事件处,如下

using WindowsFormsApplication3.Common;//这个是刚才写的DB类所在的命名空间,需要引用下
private void setting_Load(object sender, EventArgs e)
{
DB db = new DB();//实例化类
this.dataGridView1.DataSource = db.getPsize().Tables["psize"];
//绑定数据源
在这里注意下,如果有朋友有过asp.net的开发的话,一般绑定了dataGridView的数据源之后,还要有DataBind() 绑定下,但是winform中是不需要的,所以,在这里只需要绑定即可,然后,我们按F5运行看下


}


如图:


[img]http://dl.iteye.com/upload/attachment/450398/1019febc-25ad-3fcc-bd99-0cb65a4ce79f.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值