MySQL的DataAdapter用法


首先搭建好环境

Net连接MySQL数据库详细步骤

https://blog.csdn.net/qq_37171353/article/details/78173310

 

在环境搭建好的情况下仔细阅读下面代码,基本都是固定格式,需要改的地方很少

using System;
 
using MySql.Data.MySqlClient;//新引入的命名空间
using System.Configuration;//新引入的命名空间
using System.Data;
using System.Data.SqlClient;
 
public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
   
 
    
    protected void select(object sender, EventArgs e)
    {
 
        //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
 
        //连接数据库 
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);
 
        //建立DataSet对象(相当于建立前台的虚拟数据库)
        DataSet ds = new DataSet();
 
        //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表)
        DataTable dtable;
 
        //建立DataRowCollection对象(相当于表的行的集合)
        DataRowCollection coldrow;
 
        //建立DataRow对象(相当于表的列的集合)
        DataRow drow;
 
 
 
        //打开连接
        sqlCon.Open();
 
        //建立DataAdapter对象  
        string sltStr = "select id,username,password from user ";//重点,重点,重点,编写符合你查询条件的sql语句
        MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon);
        MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd);
  
        
        
 
 
 
        //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中
        msda.Fill(ds, "tabuser");
 
        //将数据表tabuser的数据复制到DataTable对象(取数据)
        dtable = ds.Tables["tabuser"];
 
        //用DataRowCollection对象获取这个数据表的所有数据行
        coldrow = dtable.Rows;
 
        //逐行遍历,取出各行的数据
        for (int inti = 0; inti < coldrow.Count; inti++)
        {
            drow = coldrow[inti];
            Label1.Text += "Id:" + drow[0];
            Label1.Text += " username:" + drow[1];
            Label1.Text += " password:" + drow[2] + "<br />";
        }
 
 
 
 
        sqlCon.Close();
        sqlCon = null;
        
 
    }
 
    protected void update(object sender, EventArgs e)
    {
 
 
        //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
 
        //连接数据库 
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);
 
        //建立DataSet对象(相当于建立前台的虚拟数据库)
        DataSet ds = new DataSet();
 
        //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表)
        DataTable dtable;
 
        //建立DataRowCollection对象(相当于表的行的集合)
        DataRowCollection coldrow;
 
        //建立DataRow对象(相当于表的列的集合)
        DataRow drow;
 
 
 
        //打开连接
        sqlCon.Open();
 
        //建立DataAdapter对象  
        string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的字段
        MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon);
        MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd);
 
 
        //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写
        //Insertcommand ,deletecommand , updatecommand 命令。
        MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda);
 
 
        //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中
        msda.Fill(ds, "tabuser");
 
        //将数据表tabuser的数据复制到DataTable对象(取数据)
        dtable = ds.Tables["tabuser"];
 
        //用DataRowCollection对象获取这个数据表的所有数据行
        coldrow = dtable.Rows;
 
 
        //重点,重点,重点,重点,重点,重点,重点,重点,重点
        //update你的数据(update user password = 123321 where id = 1)
        for (int inti = 0; inti < coldrow.Count; inti++)//重点,重点,重点
        {
            drow = coldrow[inti];
            if (drow["id"].ToString() == 1 + "")
            {
                drow["password"]="123321";
            }
        }
        msda.Update(ds, "tabuser");//重点,重点,重点,更新数据库
        sqlCon.Close();
        sqlCon = null;
    }
    
    protected void delete(object sender, EventArgs e)
    {
        //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        //连接数据库 
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);
        //建立DataSet对象(相当于建立前台的虚拟数据库)
        DataSet ds = new DataSet();
        //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表)
        DataTable dtable;
        //建立DataRowCollection对象(相当于表的行的集合)
        DataRowCollection coldrow;
        //建立DataRow对象(相当于表的列的集合)
        DataRow drow;
        //打开连接
        sqlCon.Open();
        //建立DataAdapter对象  
        string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的字段
        MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon);
        MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd);
        //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写
        //Insertcommand ,deletecommand , updatecommand 命令。
        MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda);
        //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中
        msda.Fill(ds, "tabuser");
        //将数据表tabuser的数据复制到DataTable对象(取数据)
        dtable = ds.Tables["tabuser"];
        //用DataRowCollection对象获取这个数据表的所有数据行
        coldrow = dtable.Rows;
        //逐行遍历,取出各行的数据,并且删除符合条件的数据(我要删除的id为4的记录)
        for (int inti = 0; inti < coldrow.Count; inti++)//重点,重点,重点,删除符合条件的数据
        {
            drow = coldrow[inti];
            if (drow["id"].ToString() == 4+"") {
                drow.Delete();
            }
        }
        msda.Update(ds,"tabuser");//重点,重点,重点,更新数据库
        sqlCon.Close();
        sqlCon = null;
        
    }
    protected void insert(object sender, EventArgs e)
    {
        
        //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        //连接数据库 
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);
        //建立DataSet对象(相当于建立前台的虚拟数据库)
        DataSet ds = new DataSet();
        //建立DataTable对象(相当于建立前台的虚拟数据库中的数据表)
        DataTable dtable;
        
        //建立DataRow对象(相当于表的列的集合)
        DataRow drow;
        //打开连接
        sqlCon.Open();
        //建立DataAdapter对象  
        string sltStr = "select id,username,password from user ";//重点,重点,重点,查询出所有的数据
        MySqlCommand sqlCmd = new MySqlCommand(sltStr, sqlCon);
        MySqlDataAdapter msda = new MySqlDataAdapter(sqlCmd);
        //建立 CommandBuilder 对象来自动生成 DataAdapter 的 Command 命令,否则就要自己编写
        //Insertcommand ,deletecommand , updatecommand 命令。
        MySqlCommandBuilder mySqlCommandBuilder = new MySqlCommandBuilder(msda);
        //将查询的结果存到虚拟数据库ds中的虚拟表tabuser中
        msda.Fill(ds, "tabuser");
        //将数据表tabuser的数据复制到DataTable对象(取数据)
        dtable = ds.Tables["tabuser"];
        //增加记录
        drow = ds.Tables["tabuser"].NewRow();
        //给该记录赋值
        drow[0] = 6;//重点,重点,重点,给id赋值
        drow[1] = "6";//重点,重点,重点,给username赋值
        drow[2] = "6";//重点,重点,重点,给password赋值
        ds.Tables["tabuser"].Rows.Add(drow);//重点,重点,重点,将记录添加的虚拟数据库
        //提交更新
        msda.Update(ds, "tabuser"); //重点,重点,重点,更新真正的数据库
        sqlCon.Close();
        sqlCon = null;
    }
}

 

最后,我感觉我不喜欢这种用法,SQL语句太少,除了Select别的基本上都没有用到,我的意见是:select用这种方法,update,insert,delete不用这种方法

ADD

//获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);//连接数据库 
 
 
        //打开连接
        sqlCon.Open();
 
        //SQL语句
        string sql = "insert into user (username,password) values ('csdn','csdn')";
 
 
        //获得MySsqlCommand
        MySqlCommand cmd = new MySqlCommand(sql, sqlCon);
 
        //执行SQL
         cmd.ExecuteNonQuery();
 
 
        cmd = null;
        sqlCon.Close();
        sqlCon = null;
 

DELETE

//获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);//连接数据库 
 
 
        //打开连接
        sqlCon.Open();
 
        //SQL语句
        string sql = "delete from user where id = 3";
 
 
        //获得MySsqlCommand
        MySqlCommand cmd = new MySqlCommand(sql, sqlCon);
 
        //执行SQL
         int updateCount=cmd.ExecuteNonQuery();
        if (updateCount > 0)
        {
            Response.Write("删除成功");
        }
        else {
            Response.Write("删除失败");
        }
 
 
        cmd = null;
        sqlCon.Close();
        sqlCon = null;
 

UPDATA

  //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);//连接数据库 
 
 
        //打开连接
        sqlCon.Open();
 
        //SQL语句
        string sql = "update user set username = 'ndsc' where password = 'csdn'";
 
 
        //获得MySsqlCommand
        MySqlCommand cmd = new MySqlCommand(sql, sqlCon);
 
        //执行SQL
         int updateCount=cmd.ExecuteNonQuery();
        if (updateCount > 0)
        {
            Response.Write("更新成功");
        }
        else {
            Response.Write("更新失败");
        }
 
 
        cmd = null;
        sqlCon.Close();
        sqlCon = null;

SELECT

             //获得Web.config中的配置信息
        string sqlCconnStr = ConfigurationManager.ConnectionStrings["MySqlStr"].ConnectionString;
        MySqlConnection sqlCon = new MySqlConnection(sqlCconnStr);//连接数据库 
 
        //打开连接
        sqlCon.Open();
 
        //SQL语句
        string sql = "select username from user ";
 
        //获得MySsqlCommand
        MySqlCommand cmd = new MySqlCommand(sql, sqlCon);
 
        //执行SQL并且返回查询结果
        MySqlDataReader dataReader = cmd.ExecuteReader();
 
        //处理返回结果
        while (dataReader.Read())
        {
 
            //string obj = dataReader.GetString(0);
            string obj = dataReader.GetString("username");
            //Console.WriteLine(obj);
            Label1.Text += obj;
        }
 
        cmd = null;
        sqlCon.Close();
        sqlCon = null;
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM