实践环境:
mysql:V5.1.50
phpmyadmin:3.3.7
C#环境,WIN7,VS2008专业版
下面内容只是在进行远程连接时需要,如果你的代码和mysql数据库在一台机器上,则不需要下面两步。
1.开放防火墙端口
在WINXP系统中点控制面板->安全中心->windows防火墙->例外->添加端口
将3306端口号加入例外的端口,这样就打开了mysql的默认端口。
2.授予用户远程访问权限
在phpmyadmin里选择权限->编辑用户权限->主机
从本地改为任意主机
mysql官网提供了访问mysql的支持库,可到http://dev.mysql.com/downloads/connector/net/下载
或者是直接百度一下,可以搜到很多。
将Mysql.Data.dll添加引用到你的项目,再using MySql.Data.MySqlClient;就能连接使用mysql了
1.连接数据库
基本连接语句是:"Data Source=192.168.1.1;Password=root;User ID=root;Database=test;port=3306"
通过下面的调用进行连接
String mysqlStr = "Data Source=192.168.1.1;Password=root;User ID=root;Database=test;port=3306"; MySqlConnection connection = new MySqlConnection(mysqlStr); connection.Open();
连接语句的更多参数,参见http://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html
2.取数据
需要注意的是连接mysql时的字符集要和mysql的字符集一致,否则取不到数据
MySqlCommand mySqlCommand = new MySqlCommand(sql, connection); MySqlDataReader reader = mySqlCommand.ExecuteReader(); try { while (reader.Read()) { if (reader.HasRows) { //数据访问 } } }
catch (Exception)
{
}
finally
{
reader.Close();
}
3.执行命令
默认的可以将多行命令一起执行,如果想要禁止使用多行命令,则在连接mysql时修改class="literal">AllowBatch
参数为false,添加,更新,删除等不需要取数据的操作都可以用下面的命令。
MySqlCommand mySqlCommand = new MySqlCommand(sql, connection); try { mySqlCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); }
4.完成连接
当连接完成后别忘了关闭连接
connection.Close();