相信很多人都在狐表论坛里搜素mysql,然后看怎么连接mysql,其实需求不是很多,就是能把mysql的表简单读出来,然后可以简单回写一下,就足够了。
然而关于Mysql的代码和教程总是到处飞,到处连接,看着看着就晕了。我现在就总结一下,把老师们的帖子总结一下,让大家不用再去绕弯路了
我是本地的mysql数据库,数据库名是test,账号是root,密码是root,,数据库里有1个表,叫T1,里面有2列,列名分别是 Col1 Col2
(6.4.4.0 for net2.0版本的),待会狐表里要引用
狐表→管理项目→外部引用,浏览添加该dll文件
新建一个窗口,窗口里放一个按钮,一个Table控件。然后我们讲一下思路,我们按钮里写读取数据库的代码,把数据读取出来后,就填充到这个Table里。填充到Table了,剩下想怎么处理数据都很容易了,那是狐表的最强项。
Dim conn As MySql.Data.MySqlClient.MySqlConnection Dim cmd As MySql.Data.MySqlClient.MySqlCommand Dim connStr As String = "server=localhost; port=3306; user id=root; password=root ; database=test;CharSet=utf8" '设置你的数据库连接字符串,注意我设置了字符编码为utf8,如果你的mysql里有中文字段,读取出来是乱码,就要记得设置mysql里你的字段的字符编码用utf8,这个世界最通用的字符编码格式! conn = New MySql.Data.MySqlClient.MySqlConnection(connStr) conn.Open Dim mda As New MySql.Data.MySqlClient.MySQLDataAdapter("select * from t1" , conn) '这里可以设置你的查询语句 Dim ds As New System.Data.DataSet()mda.Fill(ds, "TableTemp") 'MySQLDataAdapter方法把数据放到一个新建的临时表里,这个临时表名可自定义,我这里写TableTemp e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp") '把刚才的临时表TableTemp填充到我们的控件Table1里 conn.close
我们看一下效果
再新建一个按钮,里面代码写
Dim conn As MySql.Data.MySqlClient.MySqlConnection Dim cmd As MySql.Data.MySqlClient.MySqlCommand Dim connStr As String = "server=localhost; port=3306; user id=root; password=root; database=test;CharSet=utf8" conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)conn.Open cmd = new MySql.Data.MySqlClient.MySqlCommand("update t1 set col2 = 'Fox' where col1 = 5", conn) '这里写操作语句,跟sql一样 cmd.ExecuteNonQuery() conn.close MessageBox.show("成功")
我们看下效果
我的狐表窗体也放上来,你下载导入我的窗体就可以看了
一般我们都是用utf8这个世界上最通用的字符格式,不过有的人新建数据库的时候就不留意,用了默认的latin1字符。
狐表里的数据库连接字符串,记得带上 CharSet=utf8
mysql的表的中文字段,记得设置字符编码为utf8 (我这个mysql管理工具叫 NaviCat)
读取结果展示:
一般现在的网站,大部分是UTF8,例如微赞 微擎 人人商城。也有部分网站提供双字符格式,例如织梦,有utf8编码或者GBK编码选择的。
gbk编码的字段我也不知道怎么才能读取正确,我设置字符串 CharSet=gbk,还是会乱码,如果有人研究到,就告诉我,我修正一下帖子