当前位置:首页 » 业界相关

着急 帮帮忙

 Advertisement:

热门软件下载:


我想把对access库的基本操作(delete,addnew,update,edit)等封装到一个dll中,该怎么办啊?  
      开始的想法:  
                    在clsmydata中  
                  private   daodb   as   dao.database  
                  private   daors   as   dao.recordset    
   
                  private   nfieldname   as   string       用来确定连接的表名  
                  private   ndbpath   as   string             用来确定数据库路径  
   
                  public   property   let   fieldname(byval   newfieldname   as   string)  
                          nfieldname=newfieldname  
                  end   property  
   
                  public   property   let   dbpath(by   val   ...     与fieldname   let   相似  
   
                  public   sub   connect()  
                        此方法用来连接数据库,但必须先把fieldname和dbpath附值  
                  end   sub  
   
   
            但是这样我就觉得直接用dao多好啊,到底应该把什么给dll定义哪些属性和方法呢,         或者不封装dao,那dll到底应该怎么写什么呢,迷茫中~~  
                                谢谢指教    
 

推荐阅读

  • 光电子成为中国信息产业新的经济增长点 [详细内容]
  • 烟草行业电子公文远程传输系统正式启用 [详细内容]
  • 用NG后的想法 [详细内容]
  • 富昌多板开发系统支持飞思卡尔和国半产品 [详细内容]
  • 《零点行动》启用最新防伪标识 [详细内容]
  • 7610和MOTO MPX220的对比 希望对犹豫不决... [详细内容]
  • 英特尔四核芯片缺乏配套应用测评 [详细内容]
  • 网友回答:
    网友:free_eyes

    我是直接用控件数组的方法来做的.  
      封装是用ado的.  
       
      public   function   c_insert(byval   c_form   as   form,   byval   c_tabelname   as   string,   byval   c_text   as   string)  
      添加数据库内容  
      on   error   goto   ine  
      dim   c_temp   as   string  
      sqlinsert   =   ""  
      sqlinsert   =   "insert   into   "   &   c_tabelname   &   "   values("   &   c_text   &   ","  
      for   i   =   0   to   c_form.text1.count   -   1  
              select   case   i  
                    case   10,   13,   20  
                              sqlinsert   =   sqlinsert   &   ""   &   format(text1(i).text,   "m/d/yyyy")   &   ","  
                    case   else  
                              sqlinsert   =   sqlinsert   &   ""   &   c_form.text1(i).text   &   ","  
              end   select  
      next   i  
      sqlinsert   =   left(sqlinsert,   len(sqlinsert)   -   1)  
      sqlinsert   =   sqlinsert   &   ")"  
      conn.execute   (sqlinsert)  
      c_temp   =   ""  
      c_temp   =   "添加   "   &   c_tabelname   &   "   "   &   c_text   &   "   成功。"  
      msgbox   c_temp,   ,   "用户信息"  
      goto   inerr  
      ine:  
            c_temp   =   ""  
            c_temp   =   "添加   "   &   c_tabelname   &   "   失败。错误:"   &   err.description   &   "。"  
            msgbox   c_temp,   ,   "错误信息"  
      inerr:  
      end   function  
       
      public   function   c_update(byval   c_form   as   form,   byval   c_tabelname   as   string,   byval   c_text   as   string,   byval   c_mainfield   as   string)  
      on   error   goto   ine  
      dim   c_temp   as   string  
      sqlupdate   =   ""  
      sqlupdate   =   c_mainfield   &   "   =   "   &   c_text   &   ","  
      sqlsa   =   ""  
      sqlsa   =   "select   *   from   "   &   c_tabelname   &   "   where   "   &   c_mainfield   &   "   =   "   &   c_text   &   ""  
      set   rs   =   conn.execute(sqlsa)  
      for   i   =   0   to   c_form.text1.count   -   1  
              if   trim(c_form.text1(i).text)   =   ""   then  
                    sqlupdate   =   sqlupdate   +   rs.fields(i   +   1).name   &   "   =     ,"  
              else  
              select   case   rs.fields(i   +   1).type  
                    case   8  
                              sqlupdate   =   sqlupdate   +   rs.fields(i   +   1).name   &   "   =   "   &   format(c_form.text1(i).text,   "m/d/yyyy")   &   ","  
                    case   else  
                              sqlupdate   =   sqlupdate   +   rs.fields(i   +   1).name   &   "   =   "   &   c_form.text1(i).text   &   ","  
              end   select  
              end   if  
      next   i  
      rs.close  
       
      sqlupdate   =   left(sqlupdate,   len(sqlupdate)   -   1)  
      sqlupdate   =   "update   "   &   c_tabelname   &   "   set   "   &   sqlupdate   &   "   where   "   &   c_mainfield   &   "   =   "   &   trim(c_text)   &   ""  
      conn.execute   (sqlupdate)  
      c_temp   =   ""  
      c_temp   =   "修改   "   &   c_tabelname   &   "   "   &   c_text   &   "   成功。"  
      msgbox   c_temp,   ,   "用户信息"  
      goto   inerr  
      ine:  
            c_temp   =   ""  
            c_temp   =   "修改   "   &   c_tabelname   &   "   失败。错误:"   &   err.description   &   "。"  
            msgbox   c_temp,   ,   "错误信息"  
      inerr:  
      end   function  
       
      public   function   c_delete(byval   c_form   as   form,   byval   c_tabelname   as   string,   byval   c_mainfield   as   string,   byval   c_text   as   string)  
      on   error   goto   ine  
      dim   c_temp   as   string  
      c_temp   =   ""  
      c_temp   =   "确实要删除"   &   c_tabelname   &   "吗?"  
      if   msgbox(c_temp,   vbokcancel)   =   vbok   then  
            sqldelete   =   ""  
            sqldelete   =   "delete   from   "   &   c_tabelname   &   "   where   "   &   c_mainfield   &   "   =   "   &   c_text   &   ""  
            conn.execute   (sqldelete)  
            c_form.text2.text   =   ""  
            for   i   =   0   to   c_form.text1.count   -   1  
                    c_form.text1(i).text   =   ""  
            next   i  
      else  
            goto   inerr  
      end   if  
      c_temp   =   ""  
      c_temp   =   "删除   "   &   c_tabelname   &   "   "   &   c_text   &   "   成功。"  
      msgbox   c_temp,   ,   "用户信息"  
      goto   inerr  
      ine:  
            c_temp   =   ""  
            c_temp   =   "删除   "   &   c_tabelname   &   "   失败。错误:"   &   err.description   &   "。"  
            msgbox   c_temp,   ,   "错误信息"  
      inerr:  
      end   function

    网友:chenyu5188

    用ado不一定写类或dll来做。  
      就像楼上提供的每个操作写成一个函数不是也很好吗??!!  
       
      我有一个ado类。  
      你的邮箱是什么?我发给你  
     

    .  

    相关评论

    Login