C# MySQL操作
in C# with 0 comment

C# MySQL操作

in C# with 0 comment

本文主要记录使用VS2013开发C#对MySQL数据库的操作。


一、App.config文件

  1. 使用App.config文件记录数据库的关键信息,但是使用该文件进行保存读取,会在Debug目录下的保存,并且不会有相应的编码加密(注意安全性或经过加密后保存)。
  2. 步骤为:右击项目->添加->新建项->Visual C#项目->应用程序配置文件。
    其中配置如下:
<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <connectionStrings>
        <add name="MySQLStr" connectionString="server=192.168.0.106;port=3306;user=root;password=lz3553772..; database=itzichan;Charset=utf8;" />
        </connectionStrings>
    </configuration>
  1. 读取App.config,代码如下:
    需要在引用添加包"System.Configuration",并且在使用代码引用添加的包:using System.Configuration;
string connetStr = System.Configuration.ConfigurationManager.ConnectionStrings["MySQLStr"].ToString();

二、操作数据库

  1. 连接MySQL数据库

    MySqlConnection conn = new MySqlConnection(connetStr);
    try
    {
        conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
        //在这里使用代码对数据库进行增删查改
        string sql = "select * from user where login_name = @para1";
        MySqlCommand cmd = new MySqlCommand(sql, conn);
        cmd.Parameters.AddWithValue("para1", logintext);
        #以下是select查询,返回结果集,并通过while循环读取
        MySqlDataReader result = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象
        while (result.Read())
        {
            login_name = result[2].ToString();
            username = result[4].ToString();
        }
        result.Close();
    }
    catch (MySqlException ex)
    {
        MessageBox.Show(ex.Message);
    }
    finally
    {
        conn.Close();
    }
    
  2. 查询(结果集)

    string sql = "select * from user where login_name = @para1";
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("para1", logintext);
    #以下是select查询,返回结果集,并通过while循环读取
    MySqlDataReader result = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象
    while (result.Read())
    {

         login_name = result[2].ToString();
         username = result[4].ToString();

    }

  3. 更新、删除、插入操作

    string sql = "update plan_detail set finish_flag=1,finish_note=@para1 where id = @para2";
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("para1", logintext);
    cmd.Parameters.AddWithValue("para2", Convert.ToInt32(id));
    int resultnum = cmd.ExecuteNonQuery();//3.执行插入、删除、更改语句。执行成功返回受影响的数据的行数,返回1可做true判断。执行失败不返回任何数据,报错,下面代码都不执行
    if (resultnum == 1)
    {

     MessageBox.Show(plan_name+"  计划已完成。");

    }

注意事项

  1. 同个数据库连接未关闭不能继续使用,需要关闭后,重新打开连接,再进行操作。
  2. 使用try catch finally包含数据库的操作,已即使捕获数据库操作的异常,以及关闭数据库连接。西藏.jpg
Responses