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)第一个标题的前面四种对象我都演示过了,接下来看程序图片和源码

mysql语句生成C# 实体 c# 操作mysql_数据库