网络编程
位置:首页>> 网络编程>> 数据库>> 如何用OleDbDataAdapter来对数据库进行操作?

如何用OleDbDataAdapter来对数据库进行操作?

  发布时间:2010-06-12 12:56:00 

标签:OleDbDataAdapter,数据库,sql

请问如何用OleDbDataAdapter来对数据库进行删除、修改和添加?

OleDbDataAdapter是DataSet和数据源之间建立联系的重要纽带。用它我们可以对数据库进行删除、修改和添加等操作,下面以删除(Delete)为例,说说操作步骤:
    1、用OleDbConnection conn = getConn()语句建立数据库连接;
    2、实例化OleDbDataAdapter对象,用select语句取得要删除的记录。而不是使用delete语句;
    3、建立一个DataSet对象,并把执行select语句得到的记录添加到其中;
4、建立OleDbCommandBuilder对象,并与前面的OleDbDataAdapter对象关联,以监视RowUpdating事件的发生。在删除了指定的记录后,要通过执行OleDbDataAdapter对象的Update命令来更新数据库,语句如下:
 OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
    5、删除DataSet中包含表的特定记录
    6、执行OleDbDataAdapter对象的Update命令更新数据库:
myDataAdapter.Update(ds,"notes")
7、关闭数据库连接。

以上操作步骤不仅适合于Delete操作,同样适合Insert、Update等操作。下面我们以通过OleDbDataAdapter来执行删除(Delete)特定的数据库记录为例,看看具体代码:

public Boolean DelNote(string delid)
//删除特定记录,通过string类型的ID删除字段
{
Boolean tempvalue=false;
      try
      {
              OleDbConnection conn = getConn(); 
   //连接数据库.getConn():得到连接对象
              string selectstr = "select * from notes where id=" + delid;
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(selectstr,conn);
OleDbCommandBuilder mybuilder = new OleDbCommandBuilder(myDataAdapter);
//建立OleDbCommandBuilder
         DataSet ds = new DataSet();    
//建立DataSet()实例
              myDataAdapter.Fill(ds,"notes");
        
              foreach(DataRow dr in ds.Tables["notes"].Rows)
//由于在开始选择了所有的记录,此处用集合方式
              {                
                    if(dr["id"].ToString().Equals(delid))
                    {
                        dr.Delete();
                    }
                  } 
              myDataAdapter.Update(ds,"notes");
                        
              conn.Close();
          tempvalue=true;
          return(tempvalue);
//执行成功返回TRUE,否则返回FALSE
    }
catch(Exception e)
          {
              throw(new Exception("噢,数据库删除出错:" + e.Message)) ;
      }
}

0
投稿

猜你喜欢

  •  可用下面提供的强制登录的程序,它也可以用来做会员注册的。security.asp<%bLoggedIn =&nb
  • 如何制作K线图?也不难,代码和说明见下:<%@ Language=VBScript %><%Respo
  • 要实现的SQL查询很原始:要求从第一个表进行查询得到第二个表格式的数据,上网查询之后竟然能写出下面的SQL:代码如下:select * fr
  • 今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下:第一步:在连接样式表的元素里定义一个id,例如
  • 网页布局中常有的一种情况就是网页主体部分分成一行两列;而在很多种情况下,设计师们常把左右两列的背景色设计成不同色彩,以实现内容块的明显区分;
  • 作为收费应用方面的数据库管理员(DBA),公司首席信息官(CIO)经常邀请我与Sarbanes-Oxley审查员开会讨 * 司数据的安全与整合
  • 在MySQL中,一个字符串中,如果某个序列具有特殊的含义,则这个序列以反斜线符号(‘\’)开头,称为转义字符。常见的转义字符:\0 ASCI
  • 1、授权机制的主要作用是什么?授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和detete的权
  •  <%'***********************************************'函数
  • 除了第一年外,谷歌每年母亲节都会更换主页的logo以向全世界的母亲致敬。虽然2000年和2001年母亲节的logo图片看起来没什么不同,但是
  • 在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIG
  • SQL SERVER用来判断表或视图存在的语句在ORACLE中不能用,请问该怎么写。谢谢。答案exists(select tnam
  •     CSS是制作网页效果必不可少的东西,字体的颜色定义、表格的样式定义、图片的特效等等都少不了它。但在Dr
  • 下面这个例子描述的是在Godaddy-Linux托管帐户上使用JSP连接到某个MySQL数据库。 <%@ page
  • 讨论Web开发技术的历史,当然要先说说Web的起源。众所周知,Web这个Internet上最热门的应用架构是由Tim Berners-Lee
  • 今天在做sql Server 2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select @
  • 从毕业实习算起,从事可用性方面的工作到现在已经5年了。在此记录笔者的一些所见所想,和大家讨论分享一下。用户研究在“以用户为中心”的界面设计方
  • 如何做一个全面的探测器?    我们也可以做一个功能类似的探测器,见下:<Script lan
  • XSL(EXtensible Stylesheet Language)它是指可扩展样式表语言。 XSL之于 XML 就像 CSS 之于 HT
  • jQuery之所以如此流行并被从大公司到个人博客的几乎每个人都广泛使用,是因为它上手和使用相当简单,而且为我们提供了一些人都不知道的相当棒的
手机版 网络编程 asp之家 www.aspxhome.com