怎么优化这段代码??谢谢!!

dadihongchang 2008-10-23 10:57:53

Private Sub Print_MenuName()
Dim mo As New ManagementObject
Dim PrinterName As String = ""
Dim PrintDoc As New Printing.PrintDocument
Dim lprt_doc As New System.Drawing.Printing.PrintDocument
''打印明细单
If bol_print = False Then
PrinterName = ""
PrinterName = "tmprt"
Dim myds_dea As New DataSet
myds_dea = Mydbdata.myDBds("select e.orderNo,e.tableNo,a.Content,a.Quantity,a.price,e.customadress,e.Telephone from tb_RecordDetails a left join (select a.tableNo,a.orderNO,b.Customadress,b.Telephone from tb_orderRecord a left join tb_customadress b on a.teladress = b.[NO]) e on a.orderNo = e.OrderNO where a.Status<> 9 and a.orderNo ='" & Str_OrderNo_menu & "'")
' myds_dea.WriteXmlSchema("F:\a\ww\menunamedetailsaaa.xml")
PrinterService.SetDefaultPrinter(".", PrinterName)
PrintDoc.PrinterSettings.PrinterName = PrinterName
Dim cry_menunamedetalis As New Cry_WMTreport
cry_menunamedetalis.SetDataSource(myds_dea)
cry_menunamedetalis.PrintToPrinter(1, False, 1, 1)
bol_print = False
End If

Dim myds1 As New DataSet
myds1 = Mydbdata.myDBds(" select a.departs1,a.departs2,a.Content,b.tableNo,b.type,a.quantity from tb_RecordDetails a left join tb_orderRecord b on a.orderNo=b.orderNo where a.Status<> 9 and a.orderNo ='" & Str_OrderNo_menu & "' and (a.departs1 like '厨房' or a.departs2 like '厨房') and a.printStatus=1 order by a.departs1 ")
' '''myds1.WriteXmlSchema("F:\a\ww\menunamedetails1115cf.xml")
If myds1.Tables(0).Rows.Count <> 0 Then
PrinterName = ""
PrinterName = "cfprt"
PrinterService.SetDefaultPrinter(".", PrinterName)
PrintDoc.PrinterSettings.PrinterName = PrinterName
Dim cry_namecfprt As New Cry_MenuNamecfprt
cry_namecfprt.SetDataSource(myds1)
cry_namecfprt.PrintToPrinter(1, False, 1, 1)
End If
Dim myds2 As New DataSet
myds2 = Mydbdata.myDBds(" select a.departs1,a.departs2,a.Content,b.tableNo,b.Type,a.quantity from tb_RecordDetails a left join tb_orderRecord b on a.orderNo=b.orderNo where a.Status<> 9 and a.orderNo ='" & Str_OrderNo_menu & "' and (a.departs1 like '明档' or a.departs2 like '明档') and a.printStatus=1 order by a.departs1 ")
'''' myds2.WriteXmlSchema("F:\a\ww\menunamedetails2215md2.xml")
If myds2.Tables(0).Rows.Count <> 0 Then
PrinterName = ""
PrinterName = "mdprt"
PrinterService.SetDefaultPrinter(".", PrinterName)
PrintDoc.PrinterSettings.PrinterName = PrinterName
Dim cry_namemdprt As New Cry_MenuNamemdprt
cry_namemdprt.SetDataSource(myds2)
cry_namemdprt.PrintToPrinter(1, False, 1, 1)
End If
Dim myds3 As New DataSet
myds3 = Mydbdata.myDBds(" select a.departs1,a.departs2,a.Content,b.tableNo,b.Type,a.quantity from tb_RecordDetails a left join tb_orderRecord b on a.orderNo=b.orderNo where a.Status<> 9 and a.orderNo ='" & Str_OrderNo_menu & "' and (a.departs1 like '水吧' or a.departs2 like '水吧') and a.printStatus=1 order by a.departs1 ")
'myds3.WriteXmlSchema("F:\a\ww\menunamedetails33jb153.xml")
If myds3.Tables(0).Rows.Count <> 0 Then
PrinterName = ""
PrinterName = "jbprt"
PrinterService.SetDefaultPrinter(".", PrinterName)
PrintDoc.PrinterSettings.PrinterName = PrinterName
Dim cry_namejbprt As New Cry_MenuNamejbprt
cry_namejbprt.SetDataSource(myds3)
cry_namejbprt.PrintToPrinter(1, False, 1, 1)
End If

If Str_type_bol = "外卖台" Then
PrinterName = ""
PrinterName = "tmprt"
Dim myds_dea As New DataSet
myds_dea = Mydbdata.myDBds("select e.orderNo,e.tableNo,a.Content,a.Quantity,a.price,e.customadress,e.Telephone from tb_RecordDetails a left join (select a.tableNo,a.orderNO,b.Customadress,b.Telephone from tb_orderRecord a left join tb_customadress b on a.teladress = b.[NO]) e on a.orderNo = e.OrderNO where a.Status<> 9 and a.orderNo ='" & Str_OrderNo_menu & "'")
' myds_dea.WriteXmlSchema("F:\a\ww\menunamedetailsaaa.xml")
PrinterService.SetDefaultPrinter(".", PrinterName)
PrintDoc.PrinterSettings.PrinterName = PrinterName
Dim cry_menunamedetalis As New Cry_WMTreport
cry_menunamedetalis.SetDataSource(myds_dea)
cry_menunamedetalis.PrintToPrinter(1, False, 1, 1)
bol_print = False
End If

Mydbdata.myDBcomm(" update tb_recordDetails set printstatus =2 where orderNo ='" & Str_OrderNo_menu & "' and PrintStatus=1 ")
End Sub


这段代码主要是用来打印处理的
运行的速度有点慢 ,,
能不能优化一下哦 谢谢!!
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fairy4 2008-10-24
  • 打赏
  • 举报
回复
为什么不在打印钱就把数据查询好呢,而要在打印是去查数据库?
满衣兄 2008-10-24
  • 打赏
  • 举报
回复
没有针对性呀,不要乱丢
周公 2008-10-24
  • 打赏
  • 举报
回复
这么长的代码没有一行注释,又没有整理,叫大家怎么看?
Liu_Qiang 2008-10-23
  • 打赏
  • 举报
回复
第一,先把你的代码整理一下,便于阅读.
第二,优化你的SQL,表索引,表关系.
ejoe313 2008-10-23
  • 打赏
  • 举报
回复
你跟踪一下看看什么地方比较慢。

查询数据库慢的话,就优化数据库,
还有一点,你用完之后的DataSet等怎么都没有释放呢,这样会占用系统资源的.
ejoe313 2008-10-23
  • 打赏
  • 举报
回复
这么长啊...
dadihongchang 2008-10-23
  • 打赏
  • 举报
回复
没人理???

16,554

社区成员

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

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