MySQL的DataAdapter用法

原创 2017年10月10日 22:25:32

首先搭建好环境

Net连接MySQL数据库详细步骤(超链接)

我的数据库信息


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

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不用这种方法

如果是我的话,没有强制要求的话,我会用          戳进去看看(超链接)








dataAdapter用法总结

在SqlServer2005Express里建立数据库作为数据源,关于此过程的实现可以通过数据定义语句或直接利用可视化界面来完成。我们将通过dataGridView控件来显示数据,详细的代码如下所示:...

Navicat_For_Mysql用法说明.docx

  • 2013年07月11日 00:17
  • 862KB
  • 下载

mysql时间函数用法集合

  • 2008年06月11日 14:29
  • 9KB
  • 下载

数据集和数据库的同步-DataAdapter的使用

DataBase和DataSet同步数据 数据适配器概述 l         DataAdapter 连接到数据库以填充DataSet 的对象。然后,它又连接回数据库,根据DataSet 保留数据时所...

MySQL hint用法解析

  • 2017年11月23日 14:28
  • 131KB
  • 下载

mysql事务处理用法与实例详解

  • 2017年08月30日 14:42
  • 11KB
  • 下载

对于调用DataAdapter.Update 方法时发生的错误解决办法

今天,想着用dataset的方法来对数据库表和datagridview的表格数据进行更新,删除操作,却没有想到会出现异常,一直报错,后来,在杨大哥的帮助下,解决了这个问题。 原来,是这样的! 如果...

mysql c api 用法 英文

  • 2010年12月18日 17:04
  • 448KB
  • 下载

mysql用法小结

  • 2011年09月27日 20:59
  • 23KB
  • 下载

dataadapter中insert、delete、update的使用方法

SqlDataAdapter有关InsertCommand,UpdateCommand,DeleteCommand 实例 Posted on 2012-06-09 15:16 许珅 阅读(226...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL的DataAdapter用法
举报原因:
原因补充:

(最多只允许输入30个字)