DataAdapter对象

DataAdapter对象用于从数据源中获取数据,填充DataSet中的表和约束,并将对DataSet的更改提交回数据源。
DataAdapter对象有4个重要属性,即SelectCommand、InsertCommand、UpdateCommand和DeleteCommand,这四个属性都是Command对象。
protected   void  Page_Load( object  sender, EventArgs e)
    {
        OleDbConnection conn 
=   new  OleDbConnection();
        conn.ConnectionString 
=   " Provider=Microsoft.Jet.OLEDB.4.0; "   +
            
" Data Source= "   +  Server.MapPath( " person.mdb " );
        conn.Open();
        
string  sql = " select * from grade " ;
        OleDbDataAdapter da 
=   new  OleDbDataAdapter(sql, conn);
        DataSet ds 
=   new  DataSet();
        da.Fill(ds, 
" grade " );
        dg.DataSource 
=  ds.Tables[ " grade " ].DefaultView;
        dg.DataBind();
        conn.Close();
    }

通过DataAdapter对象的构造函数"OleDbDataAdapter(sql, conn)",传入数据库连接对象和SQL语句,如果要处理DataAdapter对象中的数据,需要将其传递给DataSet对象。语句"da.Fill(ds, "grade")"的功能是将da中的数据填充到DataSet对象中,并起一个别名"grade"。程序最后将DataSet对象中的数据和DataGrid进行绑定,然后输出。

DataAdapter对象还可以通过4个属性传递数据,给4个属性赋值的对象必须是Command对象。如果Command对象执行的是Select语句,必须将对象传递给SelectCommand属性;如果是Update语句,则传递给UpdateCommand属性;如果是Insert语句,则传递给InsertCommand属性;如果是Delete语句,则传递给DeleteCommand属性。
protected   void  Page_Load( object  sender, EventArgs e)
    {
        OleDbConnection conn 
=   new  OleDbConnection();
        conn.ConnectionString 
=   " Provider=Microsoft.Jet.OLEDB.4.0; "   +
            
" Data Source= "   +  Server.MapPath( " person.mdb " );
        
string  sql = " select * from grade " ;
        OleDbCommand Comm 
=   new  OleDbCommand(sql, conn);
        OleDbDataAdapter da 
=   new  OleDbDataAdapter();
        da.SelectCommand 
=  Comm;
        conn.Open();
        DataSet ds 
=   new  DataSet();
        da.Fill(ds, 
" grade " );
        dg.DataSource 
=  ds.Tables[ " grade " ].DefaultView;
        dg.DataBind();
        conn.Close();
    }

默认情况下,当Connection对象执行Open方法的时候,DataAdapter对象将自动调用SelectCommand属性。除了SelectCommand属性,其他3个属性都需要使用"ExecuteNonQuary()"方法调用。
protected   void  Page_Load( object  sender, EventArgs e)
    {
        OleDbConnection Conn 
=   new  OleDbConnection();
        Conn.ConnectionString 
=   " Provider=Microsoft.Jet.OLEDB.4.0; "   +
            
" Data Source= "   +  Server.MapPath( " person.mdb " );
        Conn.Open();
        
string  strInsertSQL  =   " insert into grade values(13,'女','小唐',98,78,88) " ;
        
string  strSelectSQL = " select * from grade " ;
        
string  strUpdateSQL  =   " update grade set 数学=60 where 学号=13 " ;
        
string  strDeleteSQL  =   " delete from grade where 学号=13 " ;
        
// 创建Command对象
        OleDbCommand InsertComm  =   new  OleDbCommand(strInsertSQL, Conn);
        OleDbCommand SelectComm 
=   new  OleDbCommand(strSelectSQL, Conn);
        OleDbCommand UpdateComm 
=   new  OleDbCommand(strUpdateSQL, Conn);
        OleDbCommand DeleteComm 
=   new  OleDbCommand(strDeleteSQL, Conn);
        
// 创建DataAdapter对象da
        OleDbDataAdapter da  =   new  OleDbDataAdapter();
        da.SelectCommand 
=  SelectComm;
        da.InsertCommand 
=  InsertComm;
        da.UpdateCommand 
=  UpdateComm;
        da.DeleteCommand 
=  DeleteComm;
        
// 创建并填充DataSet
        DataSet ds  =   new  DataSet();
        da.Fill(ds, 
" grade1 " );
        da.DeleteCommand.ExecuteNonQuery(); 
        da.Fill(ds, 
" grade2 " );
        da.InsertCommand.ExecuteNonQuery();
        da.Fill(ds, 
" grade3 " );
        da.UpdateCommand.ExecuteNonQuery();
        da.Fill(ds, 
" grade4 " );
        
// 将DataSet绑定到DataGrid控件
        dg1.DataSource  =  ds.Tables[ " grade1 " ].DefaultView;
        dg2.DataSource 
=  ds.Tables[ " grade2 " ].DefaultView;
        dg3.DataSource 
=  ds.Tables[ " grade3 " ].DefaultView;
        dg4.DataSource 
=  ds.Tables[ " grade4 " ].DefaultView;
        dg1.DataBind();
        dg2.DataBind();
        dg3.DataBind();
        dg4.DataBind();
        Conn.Close();
    }

转载于:https://www.cnblogs.com/qixin622/archive/2007/05/23/756746.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值