1.点击MySqlOperation,点击鼠标右键,设置为启动项目
2.查询一条记录
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace MySqlOperation
{
class Program
{
static void Main(string[] args)
{
//Database指定数据库,Data Source指定本机ip,port指定端口号,user id指定用户名,password 指定密码,各属性之间用“;”进行分隔
String connStr = "Database=test_connection;Data Source=127.0.0.1;port=3306;User Id=root;Password=123456";
//建立连接,参数为连接的字符串,即ip地址、端口号、账号、密码
MySqlConnection conn = new MySqlConnection(connStr);
//打开连接
conn.Open();
//用于执行sql命令,第一个参数为一条sql语句,第二个参数为连接
//查询一条id为1的用户信息
MySqlCommand cmd = new MySqlCommand("select * from user where id = 1",conn);
//执行查询,可以处理0到多条查询语句
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows) //判断结果中是否有内容
{
reader.Read();
String userName = reader.GetString("userName");
String passWord = reader.GetString("passWord");
Console.WriteLine(userName+" : "+passWord);
}
//关闭连接,先开后关
reader.Close(); //关闭流
conn.Close(); //关闭连接
Console.ReadKey(); //让程序暂停
}
}
}
运行结果:
3.查询多条记录
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace MySqlOperation
{
class Program
{
static void Main(string[] args)
{
//Database指定数据库,Data Source指定本机ip,port指定端口号,user id指定用户名,password 指定密码,各属性之间用“;”进行分隔
String connStr = "Database=test_connection;Data Source=127.0.0.1;port=3306;User Id=root;Password=123456";
//建立连接,参数为连接的字符串,即ip地址、端口号、账号、密码
MySqlConnection conn = new MySqlConnection(connStr);
//打开连接
conn.Open();
//用于执行sql命令,第一个参数为一条sql语句,第二个参数为连接
//查询一条id为1的用户信息
MySqlCommand cmd = new MySqlCommand("select * from user",conn);
//执行查询,可以处理0到多条查询语句
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) //判断结果中是否有内容
{
String userName = reader.GetString("userName");
String passWord = reader.GetString("passWord");
Console.WriteLine(userName+" : "+passWord);
}
//关闭连接,先开后关
reader.Close(); //关闭流
conn.Close(); //关闭连接
Console.ReadKey(); //让程序暂停
}
}
}
注:
出现的异常:"MySql.Data.MySqlClient.MySQLeXCEPTION"类型的未经处理的异常在MySql.Data.dll中发生
“MySql.Data.MySqlClient.MySqlException”类型的未经处理的异常在 MySql.Data.dll 中发生
Invalid attempt to access a field before calling Read()
原因:
1.MySql服务可能没有启动
2.没有调用reader.read()方法
解决办法:1.mysql服务如果没有启动,则启动
2.如果没有调用reader.read()方法,则调用
原来的代码:
if (reader.HasRows) //判断结果中是否有内容
{
String userName = reader.GetString("userName");
String passWord = reader.GetString("passWord");
Console.WriteLine(userName+" : "+passWord);
}
修改后的代码:
if (reader.HasRows) //判断结果中是否有内容
{
reader.Read();
String userName = reader.GetString("userName");
String passWord = reader.GetString("passWord");
Console.WriteLine(userName+" : "+passWord);
}