您的位置:首页 > 数据库 > MySQL

C#操作MySQL数据库(连接,增删查改)

2013-05-07 11:43 429 查看
1.ADO.NET中的数据库简介

(1)Connection对象

(2)Command对象

(3)DataReader对象 //(2)(3)可以配合起来一起用,这是要连接到数据库的

(4)DataAdapter对象==>DataSet/DataTable //可以断开数据库

(5)Parameter对象 安全

(6)Transaction对象 事务

我只讲前面4个的操作。

2.MySQL数据库

在C#中MySQL数据库首先要下载一个MySql.Data,放到引用中。

注意:MySQL的操作跟1的介绍是一模一样,只是要在前面加MySql,如MySqlConnection。

特别的是DataSet/DataTable并不要在前面加MySql。

讲了那么多,开始看代码,这程序是一个小东西,无限生成子节点的程序,文章下面有程序截图,源代码:

//MySqlDataAdapter和DataTable是一个组合来的
MySqlDataAdapter mysqlAdapter = new MySqlDataAdapter();
DataTable dt = new DataTable();
//数据库账号密码
private static string _connectionString =
string.Format("server={0};Port={1};User Id={2};database={3};password={4};Charset=utf8",
"localhost", 3306, "root", "test", "root");

(1)连接数据库,并使用了MySqlDataAdapter操作
//加载数据库的内容,也是连接数据库
private void Form1_Load(object sender, EventArgs e)
{
string sqlString = string.Format("select * from {0}", "ttableeasy");
//使用using,相当于使用了try{}finally{using括号的对象的Dispose(即释放对象)}
using (MySqlConnection connection = new MySqlConnection(_connectionString))
{
try
{
connection.Open();
//MySqlDataAdapter获取数据库,可以断Connection
mysqlAdapter.SelectCommand = new MySqlCommand(sqlString, connection);
//MySqlDataAdapter填充到DataTable,即dt获取数据库所有的行
mysqlAdapter.Fill(dt);
       //暂时忽略这个,这是递归生成树
CreateTree(treeView1.Nodes, 0, 0);
treeView1.ExpandAll();
}
catch (MySqlException)
{
MessageBox.Show("数据库读取失败,本数据库的设置是:\n" +
"server=localhost;Port=3306;User Id=root;database=test;password=root;Charset=utf8");
}
}
}

(2)连接数据库,并使用了MySqlCommand操作,但是没有使用到DataReader对象
public int ExcuteSQL(string sqlString,int flag)
{
int n;
using (MySqlConnection connection = new MySqlConnection(_connectionString))
{
//第二种操作数据库的方式是使用MySqlCommand。第一种是使用了MysqlDataAdapter来操作。
using (MySqlCommand cmd = new MySqlCommand())
{
try
{
cmd.Connection = connection;
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 0;
cmd.CommandText = sqlString;
connection.Open();
//flag=0表示增删改的操作,否则就是查询。语句是不一样的,你们可以查ExecuteNonQuery()和ExecuteScalar()的不同
if (flag == 0)
n = Convert.ToInt32(cmd.ExecuteNonQuery());
else
n = Convert.ToInt32(cmd.ExecuteScalar());
return n;
}
catch (MySqlException)
{
MessageBox.Show("数据库读取失败,本数据库的设置是:\n" +
"server=localhost;Port=3306;User Id=root;database=test;password=root;Charset=utf8");
return 0;
}
}
}

(3)第一个标题的前面四种对象我都演示过了,接下来看程序图片和源码



源码:TreeDemo.rar http://www.cnblogs.com/hejava/admin/Files.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: