VB6到VB.net 2010关于数据库的问题?

applekiller 2014-04-21 08:39:21
数据结构:::::
合同表:
合同编号
单位名称
订货表:
合同编号
序号
产品编号
订货数量
库存表:
产品编号
型号
库存数量
订货数量
原来的设计思路:
在FORM中Text中选择单位名称, 选择产品加入到ListView中 在保存中将信息写入三张表: private sub CmdSave()
on error goto ErrHan
dim rs as recordset
dim rsTemp as rdcordset
dim sql as string
dim i as integer
cn.begintrans
sql="select * from 合同库 where 1=2"
rs.open sql,cn '修改打开
rs.addnew
rs!合同编号=text1.text
rs!单位名称=text2.text
rs.update
sql="select * from 订货库 where 合同编号='" & text1.text & "'"
rs.open sql,cn '修改打开
for i=1 to listview.listitems.count
rs.addnew
rs! 合同编号=text1.text
rs!序号=i
rs!产品编号=listview.listitems(i).text
rs!订货数量=listview.listitems(i).subitem(1)
rs.update
sql="select * from 库存表 where 产品编号='" & listview.listitems(i).text & "'"
rstemp.open sql,cn '修改打开
rstemp!订货数= rstemp!订货数 + val(listview.listitem(i).subitem(1))
rstemp.update
next i
cn.committrans
exit sub
ErrHan:
cn.rollbacktrans
end sub
'将上述代码功能转换成vb.net 2010 代码 ,不要直接用SQL语句,实际上表的字段很多
'需要代码有事务功能,要么全部成功 要么都不成功
'谢谢各位了!
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_cloud2011 2014-05-06
  • 打赏
  • 举报
回复
与VB相差不大,要引入Imports ADODB
wind_cloud2011 2014-05-06
  • 打赏
  • 举报
回复

 Private Sub CmdSave()
        On Error GoTo ErrHan
        Dim rs As Recordset
        Dim rsTemp As Recordset
        Dim sql As String
        Dim i As Integer
        Dim cn As New ADODB.Connection
        cn.begintrans()
        sql = "select * from 合同库 where 1=2"
        rs.Open(sql, cn)  '修改打开
        rs.AddNew()
        rs("合同编号").Value = TextBox1.Text
        rs("单位名称").Value = TextBox2.Text
        rs.Update()
        sql = "select * from 订货库 where 合同编号='" & TextBox1.Text & "'"
        rs.Open(sql, cn)  '修改打开
        For i = 1 To ListView1.Items.Count
            rs.AddNew()
            rs("合同编号").Value = TextBox1.Text
            rs("序号").Value = i
            rs("产品编号").Value = ListView1.Items(i).Text
            rs("订货数量").Value = ListView1.Items(i).SubItems(1)
            rs.Update()
            sql = "select * from 库存表 where 产品编号='" & ListView1.Items(i).Text & "'"
            rsTemp.open(sql, cn)  '修改打开
            rsTemp("订货数").Value = rsTemp("订货数").Value + Val(ListView1.Items(i).SubItems(1))
            rsTemp.update()
        Next i
        cn.committrans()
        Exit Sub
ErrHan:
        cn.rollbacktrans()
    End Sub

greatbody 2014-04-26
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
方式1:使用Visual Studio带的VB6程序升级向导转换。 方式2:花钱雇一个程序员帮你人工转换,后者的准确性更高。
大赞,最讨厌那些指着你让你做这,做那的人了。又不给钱。。。。。
threenewbee 2014-04-21
  • 打赏
  • 举报
回复
方式1:使用Visual Studio带的VB6程序升级向导转换。 方式2:花钱雇一个程序员帮你人工转换,后者的准确性更高。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧