您的位置:程序门 -> .net技术 -> vb.net



vb.net 使用 access 数据库做表的记录更新、插入、删除 的操作(表名动态输入,列名也是动态输入,还有数据库地址需输入)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb.net 使用 access 数据库做表的记录更新、插入、删除 的操作(表名动态输入,列名也是动态输入,还有数据库地址需输入)[已结贴,结贴人:]
发表于:2007-04-12 21:38:26 楼主
'vb.net   使用   access   数据库做表的记录更新、插入、删除   的操作(表名动态输入,列名也是动态输入,还有数据库地址需输入)
        '更新,参数indata的首列为id(自动编号的),所以使用部分从第1列开始
        '             参数indata   为要更新的列的内容的arraylist   。是所有列的数据
        public   sub   myupdate(byval   tablename   as   string,   byval   accesspath   as   string,   byval   indata   as   arraylist)
                dim   myaccess   as   new   class_provider
                myaccess.dataaccess(accesspath)
                '得到表的查询
                dim   myt_query   as   datatable   =   myaccess.returnoledataset( "select   *   from   "   +   tablename).tables(0)

                '得到表的列的名字()

                dim   sqlstr   as   string   =   " "

                'update   的“set”部分的字符串
                for   i   as   integer   =   1   to   indata.count   -   1
                        if   i   =   1   then
                                sqlstr   =   sqlstr   +   "   [ "   +   myt_query.columns(i).columnname   +   "]= ' "   +   indata.item(i)   +   " ' "
                        else
                                sqlstr   =   sqlstr   +   ",   [ "   +   myt_query.columns(i).columnname   +   "]= ' "   +   indata.item(i)   +   " ' "
                        end   if
                next
                sqlstr   =   "update   "   +   tablename   +   "   set   "   +   sqlstr   +   "   where   [id]= "   +   indata.item(0)

                myaccess.dosql(sqlstr)
        end   sub

        '插入
        public   sub   myinsert(byval   tablename   as   string,   byval   accesspath   as   string,   byval   indata   as   arraylist)
                dim   myaccess   as   new   class_provider
                myaccess.dataaccess(accesspath)
                '得到表的查询
                dim   myt_query   as   datatable   =   myaccess.returnoledataset( "select   *   from   "   +   tablename).tables(0)

                dim   sql_field_str   as   string   =   " "
                'insert   的“字段”部分的字符串
                for   i   as   integer   =   1   to   indata.count   -   1
                        if   i   =   1   then                              
                                sql_field_str   =   sql_field_str   +   myt_query.columns(i).columnname
                        else                          
                                sql_field_str   =   sql_field_str   +   ", "   +   myt_query.columns(i).columnname
                        end   if
                next
                '插入字段的值
                dim   sql_fieldvalue_str   as   string   =   " "
                for   i   as   integer   =   1   to   indata.count   -   1
                        if   i   =   1   then
                                sql_fieldvalue_str   =   sql_fieldvalue_str   +   " ' "   +   indata.item(i)   +   " ' "
                        else
                                sql_fieldvalue_str   =   sql_fieldvalue_str   +   ", ' "   +   indata.item(i)   +   " ' "
                        end   if
                next

                dim   sqlstr   as   string   =   " "
                sqlstr   =   "insert   into   "   +   tablename   +   "( "   +   sql_field_str   +   ")values( "   +   sql_fieldvalue_str   +   ") "

                myaccess.dosql(sqlstr)
        end   sub

        '删除
        public   sub   mydel(byval   tablename   as   string,   byval   accesspath   as   string,   byval   myid   as   string)
                dim   myaccess   as   new   class_provider
                myaccess.dataaccess(accesspath)

                dim   sqlstr   as   string   =   "delete   from   "   +   tablename   +   "   where   [id]= "   +   myid
                myaccess.dosql(sqlstr)
        end   sub
发表于:2007-04-13 12:04:531楼 得分:0
做一个输入框,对于数据库连接以及变量进行定义。


快速检索

最新资讯
热门点击