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