CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

怎样访问数据库啊?请给一些关于更新、删除、插入等操作的代码。

楼主sinsou(阿良·有谁共鸣)2002-08-13 08:16:58 在 .NET技术 / ASP.NET 提问

谢谢! 问题点数:50、回复次数:4Top

1 楼zyyace(信长.Net)回复于 2002-08-13 08:19:55 得分 25

给分吧  
  <%@   Import   Namespace="System.Data"   %>  
  <%@   Import   Namespace="System.Data.OleDb"   %>  
   
  <script   language="VB"   runat="server">  
   
      Sub   Page_Load(Sender   As   Object,   E   As   EventArgs)  
   
          Dim   strConnection   As   String  
          Dim   strSQL                 As   String  
          Dim   objDataSet         As   New   DataSet()  
          Dim   objConnection   As   OleDbConnection  
          Dim   objAdapter         As   OleDbDataAdapter  
   
          '   set   the   connection   and   query   details  
          strConnection   =   "Provider=Microsoft.Jet.OLEDB.4.0;   "   &   _  
                                          "Data   Source=C:\BegASPNET\ch13\Northwind.mdb"  
          strSQL   =   "SELECT   EmployeeID,   FirstName,   LastName   FROM   Employees;"  
   
          '   open   the   connection   and   set   the   command  
          objConnection   =   New   OledbConnection(strConnection)  
          objAdapter   =   New   OledbDataAdapter(strSQL,   objConnection)  
   
          '   fill   the   dataset   with   the   data  
          objAdapter.Fill(objDataSet,   "Employees")  
   
          '   bind   the   data   grid   to   the   data  
          dgNameList1.DataSource   =   objDataSet.Tables("Employees").DefaultView  
          dgNameList1.DataBind()  
  '   -----------------------------------------------------------------  
          '   add   a   new   row   to   the   table  
          Dim   objTable     As   DataTable  
          Dim   objNewRow   As   DataRow  
       
          objTable   =   objDataSet.Tables("Employees")  
          objNewRow   =   objTable.NewRow()  
          objNewRow("FirstName")   =   "Norman"  
          objNewRow("LastName")   =   "Blake"  
          objTable.Rows.Add(objNewRow)  
           
          '   add   another   new   row.   We'll   be   deleting   the   one   above   later.  
          '   we   can't   delete   existing   rows   from   the   database   because   of  
          '   referential   integrity   (every   employee   also   has   Orders)  
          objNewRow   =   objTable.NewRow()  
          objNewRow("FirstName")   =   "Kasey"  
          objNewRow("LastName")   =   "Chambers"  
          objTable.Rows.Add(objNewRow)  
   
   
          '   bind   the   data   grid   to   the   new   data  
          dgNameList2.DataSource   =   objTable.DefaultView  
          dgNameList2.DataBind()  
   
   
          '   -----------------------------------------------------------------  
          '   edit   an   existing   row   in   the   table  
          Dim   objRow   As   DataRow  
           
          '   The   Rows   collection   is   0   indexed,   so   this   changes   the   fourth   row  
          objRow   =   objTable.Rows(3)  
          objRow("FirstName")   =   "John"  
          objRow("LastName")   =   "Hartford"  
   
          '   bind   the   data   grid   to   the   new   data  
          dgNameList3.DataSource   =   objTable.DefaultView  
          dgNameList3.DataBind()  
   
   
          '   -----------------------------------------------------------------  
          '   delete   a   row   from   the   table  
   
          '   The   Rows   collection   is   0   indexed,   so   this   removes   the   sixth   row  
          objTable.Rows(objTable.Rows.Count   -   2).Delete()  
           
          '   bind   the   data   grid   to   the   new   data  
          dgNameList4.DataSource   =   objTable.DefaultView  
          dgNameList4.DataBind()  
   
   
          '   =================================================================  
          '   generate   the   update   commands  
          Dim   objBuilder         As   OleDbCommandBuilder  
   
          objBuilder   =   New   OleDbCommandBuilder(objAdapter)  
          objAdapter.UpdateCommand   =   objBuilder.GetUpdateCommand()  
          objAdapter.InsertCommand   =   objBuilder.GetInsertCommand()  
          objAdapter.DeleteCommand   =   objBuilder.GetDeleteCommand()  
   
   
          '   =================================================================  
          '   update   the   data   store  
          objAdapter.Update(objDataSet,   "Employees")  
           
           
          '   =================================================================  
          '   refresh   the   data   in   the   DataReader   and   bind   it   to   a   new   grid  
          '   to   prove   that   the   data   store   has   been   updated  
   
          strSQL   =   "SELECT   EmployeeID,   FirstName,   LastName   FROM   Employees"  
          objConnection.Open()  
          Dim   objCmd   As   New   OleDbCommand(strSQL,   objConnection)  
          dgUpd.DataSource   =   objCmd.ExecuteReader(CommandBehavior.CloseConnection)  
          dgUpd.DataBind()  
       
      End   Sub  
   
  </script>  
  <html>  
    <body>  
      <table   width="100%">  
        <tr>  
          <td>Original   Data</td>  
          <td>Data   with   new   Row</td>  
          <td>Data   with   edited   Row</td>  
          <td>Data   with   deleted   Row</td>  
        </tr>  
        <tr>  
          <td   valign="top"><asp:DataGrid   id="dgNameList1"   runat="server"   /></td>  
          <td   valign="top"><asp:DataGrid   id="dgNameList2"   runat="server"   /></td>  
          <td   valign="top"><asp:DataGrid   id="dgNameList3"   runat="server"   /></td>  
          <td   valign="top"><asp:DataGrid   id="dgNameList4"   runat="server"   /></td>  
        </tr>  
      </table>  
       
      <hr   />  
       
      Data   fetched   from   database   after   the   update:<br/>  
       
      <asp:DataGrid   id="dgUpd"   runat="server"/>  
       
    </body>  
  </html>  
  Top

2 楼spring_ok(广州泰能软件)回复于 2002-08-13 08:33:17 得分 0

study   quick   start  
   
  www.gotdotnet.comTop

3 楼hbxtx(xy)回复于 2002-08-13 08:57:07 得分 25

别人的文章,你看看  
  string   MyConnString   =   "Driver={Microsoft   Access   Driver   (*.mdb)};   DBQ=c:/test/test.mdb;";  
  string   strComm   =   "select   *   from   UserList";  
  ADOConnection   MyConnection   =   new   ADOConnection(MyConnString);  
  ADODataSetCommand   MyComm   =   new   ADODataSetCommand(strComm,MyConnection);  
   
  这里我们为了讲解方便,只在DataSet存入一个表的内容:  
   
  DataSet   MyDataSet   =   new   DataSet();  
  MyComm.FillDataSet(MyDataSet,"UserList");  
   
  此时我们就获得了一个拥有UserList表数据的DataSet。在讲解DataSet之前,我们还需要了解DataSet的结构下面是DataSet的结构树  
   
  DataSet    
  RelationsCollection    
  ExtendedProperties    
  TablesCollection        
  DataTables    
       
  Rows    
  Columns    
  其它    
  由于我们研究的是DataTable,其它的我们暂时不管他们。一个DataSet中包含多个DataTable,一个DataTable又包含有多个Row,这就是我们操作DataSet的基础啦:)  
   
  添加数据  
   
  添加一数据,从上面的列表中我们可以看出,其实就是添加一行Row,这里我们也来演示一下如何添加一行数据,我们程序一切以DataSet为顶点,呵呵,如果TablesCollection,RowsCollection下去的话,还有一些烦人的dt.AcceptChanges这些方法的调用,很烦人,还是一次搞定吧。  
   
  DataRow   dr=MyDataSet.Tables["UserList"].NewRow();  
  dr["UserName"]   =   "周讯";  
  dr["ReMark"]   =   "100";  
  dr["Comment"]   =   "漂亮MM";  
  MyDataSet.Tables.Rows.Add(dr);  
   
  第一行,我们建立一个新的数据行,它用来储存我们新加入的数据。然后我们在这个数据行中加入我们需要的数据。dr["UserName"]表明是对UserName字段进行添加,你可以使用dr[1]来添加信息,但是这需要我们事先知道字段在数据表的位置,而且在不知道数据表结构的情况很难知道我们添加的数据的对应情况,所以还是用字段名为好。  
   
  最后我们使用RowsCollection的Add方法,将我们新建这一行加入到数据表中。  
   
  修改数据  
   
  知道如何添加数据后,修改数据也是很简单的事情了.  
   
  MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飞刀大哥";  
   
  这样我们就修改了第一行数据中的UserName字段。  
   
  删除数据  
   
  删除数据,主要是使用RowsCollection提供的Delete方法,看下面的程序也是很简单的事情啦:)  
   
  MyDataSet.Tables["UserList"],Rows[0].Delete();  
   
  这一行数据就已经被删除了。  
   
  恢复数据  
   
  有时候我们添加/修改数据会出现错误,这时候,就需要恢复原来的数据。下面的程序,显示如何判断是否有错误发生:  
   
  if(MyDataSet.HasErrors)  
  {  
  MyDataSet.RejectChanges();  
  }  
     
  首先我们检查DataSet中是否有错误发生,如果有就使用RejectChanges()方法,恢复DataSet中的数据。注意这里恢复是在DataSet中所有表以及表中DataRow中的数据,也就是在此交次操作的数据全部恢复。如果我们只需要恢复部分内容,我们可以使用DataTable或DataRow的RejectChanges(),这里就不详细讲解了,使用方法和DataSet一样,只是操作的对像不同而已。  
   
  探测DataSet是否有改动  
   
  我们在将DataSet送交给数据库去保存去,我们需要看看这个DataSet是否已经被改动了。如果没有改动,我们也就没有必要去修改数据库了。  
   
  if(MyDataSet.HasChanges)  
  {  
  //保存  
  }else{  
  //不进行任何操作  
  }  
   
  更新数据库  
   
  我们上面的操作,都只是针对DataSet的,没有操作数据库,但是我们的目的还是要将数据保存到数据中去,所以我们这里就需要调用DataSetCommand的Update方法。下面的程序显示如何将DataSet的数据交给数据库。  
   
  MyComm.Update(MyDataSet);  
   
  很简单的一句,呵呵。这里要注意,如果一个DataSet中包含有多个表,而我们只更新一个,那我们就必须写明更新的数据表名:  
   
  MyComm.Update(MyDataSet,"UserList");  
   
  当Update方法被调用后,DataSetCommand会将数据库中的数据与DataSet中的数据相比较,对不相同的地方进行更新。  
   
  Top

4 楼bluefish922(思念里的流浪鱼)回复于 2002-08-13 09:30:48 得分 0

查一下帮助,比如查找DATASET,dataadapter,command等的操作。Top

相关问题

  • 求c#的数据库编程 比如 查询 插入 修改 删除 操作代码或源程序,谢谢
  • 数据库的插入,更新,删除操作
  • 数据库删除和插入记录时出现的问题?
  • 请问如何用代码删除SQL数据库?
  • 这段代码哪里错了(简单ASP插入数据库)
  • 在C#语言中怎么写插入数据库代码
  • 数据库删除???
  • 插入数据库行删除不行哪位给解释一下
  • 为何用Access数据库进行查询插入删除总是不成功
  • 谁有ADO数据库例子(添加,插入,删除等)送100分。

关键词

  • row
  • data

得分解答快速导航

  • 帖主:sinsou
  • zyyace
  • hbxtx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo