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