首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

插入SQLSERVER 数据库的有关问题

2012-01-07 
插入SQLSERVER 数据库的问题?想往用友的凭证表插入凭证, 我取最大凭证号+1作为凭证号往数据表里面插入凭证

插入SQLSERVER 数据库的问题?
想往用友的凭证表插入凭证, 我取最大凭证号+1作为凭证号往数据表里面插入凭证,如何避免我插入凭证的时候与别人手工录入正好保存的时候发生冲突?还有如果插入数据的时候出现错误能回滚吗?我没有使用过回滚, 我是VB新手,请各位老师多多指教,最好有Vb代码,万分感谢!

[解决办法]

VB code
'楼主如果是向U8凭证表写入记录,则可以参考:private sub command1_click()    dim ar_tmp    as new adodb.recordset    dim StrSql    as string    dim lngNo_Id  as long    '当月凭证最大编号on error goto ErrHandle:    '开始事务    conn.begintrans       '根据凭证类别字与月份读取当月凭证最大编号     strsql=" select max(ino_id) as ino_id from GL_Accvouch where csing='记' and iperiod=9"    if ar_tmp.state<>adstatecloed then ar_tmp.close    ar_tmp.open strsql,conn,adopenkeyset,adlockreadonly    if ar_tmp.recordcount=0 then        lngNo_Id=1    else        if not isnull(ar_tmp!ino_id) then            lngNo_Id=ar_tmp!ino_id+1        else            lngNo_Id=1        end if    end if    ar_tmp.close      '写入凭证借方记录    conn.execute "insert into GL_Accvouch(csign,isignseq,iperiod,ino_id,inid,ccode,md,mc) values('记',1,9,"& lngNo_id &",1,'1001',100,0)"     '写入凭证贷方记录     conn.execute "insert into GL_Accvouch(csign,isignseq,iperiod,ino_id,inid,ccode,md,mc) values('记',1,9,"& lngNo_id &",2,'1002',0,100)"    '提交事务     conn.committrans     msgbox "保存成功!",vbokonly,"提示"    exit sub'错误处理ErrHandle:    '出错,回滚事务    conn.rollbakctrans    msgbox "操作失败,错误原因为:" & err.description,"提示"    exit subend sub 

热点排行