c# mysql类使用方法_C#使用MySql详细教程

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using MySql.Data;

using MySql.Data.MySqlClient;

namespace MySQLTest

{

class Test

{

private MySqlConnection mysqlcon;

Test()

{

const string constr = "server=localhost;User Id=waponx;password=learning;Database=Education";

mysqlcon = new MySqlConnection(constr);

// 打开mysql连接,在使用之前必须要打开,否则会抛出异常

// 在不使用mysql的时候记得关闭

mysqlcon.Open();

// 生成一个mysql语句,第一个参数为你的语句,第二个参数为mysql连接

// 第二个参数可省,默认值为null

MySqlCommand mysqlcmd_NonQuery = new MySqlCommand("insert into myaccount(name, password, identity) values(\'haha\', \'123\', \'Student\')", mysqlcon);

// 执行语句

mysqlcmd_NonQuery.ExecuteNonQuery();

MySqlCommand mysqlcmd_Query = new MySqlCommand("select * from myaccount", mysqlcon);

// 如果执行mysql语句会返回信息,就可以通过MySqlDataReader类型来读取这些信息。

// 比如select语句

// ExecuteReader函数返回一个MySqlDataReader对象

MySqlDataReader dataReader = mysqlcmd_Query.ExecuteReader();

// FieldCount属性,查询结果的字段数

int count = dataReader.FieldCount;

// 读取这个结果集合

// 想要访问查询结果,先要执行Read函数

dataReader.Read();

string[] title = new string[count];

for (int i = 0; i < count; ++i)

{

// 获取第i列的标题,通过i指定第几列

title[i] = dataReader.GetName(i);

}

// Read函数每次从执行的结果中读取一行

// 有数据可以读就返回true

while (dataReader.Read())

{

for (int i = 0; i < dataReader.FieldCount; ++i)

{

// IsDBNull函数可以判断读取到的数据的第i列为不为空

// 如果为空就返回true

if (!dataReader.IsDBNull(i))

{

Console.WriteLine("查询结果的当前当的第{0}列不为空", i);

// GetString函数可以以字符串的形式返回读取到的这一行的第i列的数据

// 类似的还有

// dataReader.GetChar(i);

/// dataReader.GetInt32(i);等等

Console.WriteLine("查询结果的当前当的第{0}列的内容为:", i, dataReader.GetString(i));

}

else

{

Console.WriteLine("查询结果的当前当的第{0}列为空", i);

}

}

}

// IsClosed可以用来判断MySqlDataReader是否已经被关闭了

// 如果没有关闭要记得关闭,否则不能对这个mysql连接再执行ExecuteReader

if (!dataReader.IsClosed)

{

// 如果在没有关闭这个MySqlDataReader情况下使用了ExecuteReader和Read,就会抛出异常

dataReader.Close();

}

// 关闭mysql连接

CloseMySqlConnect();

}

public void CloseMySqlConnect()

{

// 关闭mysql

mysqlcon.Close();

}

}

}


版权声明:本文为weixin_34329350原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。