Vb.net 如果错误更新dbf文件中的每一行数据,请在txt文件中写入错误消息
我这里有一段代码,如果每行数据都没有更新,我想在文本文件中写入错误消息。我能知道这是我的尝试吗?抓块是对的还是错的Vb.net 如果错误更新dbf文件中的每一行数据,请在txt文件中写入错误消息,vb.net,exception,logging,Vb.net,Exception,Logging,我这里有一段代码,如果每行数据都没有更新,我想在文本文件中写入错误消息。我能知道这是我的尝试吗?抓块是对的还是错的 For rCnt = 3 To 4 Empno = xlRange.Cells(rCnt, 1).Value totalhrs = xlRange.Cells(rCnt, 3).Value 'workhr latehr = xlRange.Cells(rCnt, 4).V
For rCnt = 3 To 4
Empno = xlRange.Cells(rCnt, 1).Value
totalhrs = xlRange.Cells(rCnt, 3).Value 'workhr
latehr = xlRange.Cells(rCnt, 4).Value 'latehr
earlyhr = xlRange.Cells(rCnt, 5).Value 'earlyhr
norOT = xlRange.Cells(rCnt, 6).Value 'nor OT
holOT = xlRange.Cells(rCnt, 7).Value 'hol ot
otherOT = xlRange.Cells(rCnt, 8).Value 'other ot
attend = xlRange.Cells(rCnt, 9).Value 'attendace
absent = xlRange.Cells(rCnt, 10).Value 'absent
mc = xlRange.Cells(rCnt, 11).Value 'leave
sCommand = "UPDATE paytran.dbf SET paytran.workhr = " & totalhrs & ", paytran.latehr = " & latehr & ", paytran.earlyhr = " & earlyhr & ", paytran.ot1 = " & norOT & ", paytran.ot2 = " & holOT & ", paytran.ot3 = " & otherOT & ", paytran.dw = " & attend & ", paytran.ab = " & absent & ", paytran.mc = " & mc & " , paytran.payyes = 'Y' WHERE paytran.empno == '" & Empno & "'"
dBaseCommand = New OleDbCommand(sCommand, dBaseConnection)
Try
retVal = dBaseCommand.ExecuteNonQuery()
Catch ex As IOException
'To_WriteAudit("Error", ex.Message.ToString()) 'here my catch block that write the file..
End Try
Next rCnt
Public Sub To_WriteAudit(ByVal pstrAction As String, ByVal pstrErrorDes As String)
Dim pathlf As String
pathlf = "C:\logfile.txt"
Dim fswAuditLog As StreamWriter
fswAuditLog = New StreamWriter(pathlf, True)
fswAuditLog.WriteLine("Write the exception here")
fswAuditLog.Flush()
fswAuditLog.Close()
End Sub
Try-Catch块是正确的,如果更新执行中出现错误(未注释时),应调用_-writeaudit。但是,您还应该测试retVal以确保它是1(更新的行数)。如果为零,则不更新任何内容。如果大于零,则更新了多行
此外,您可能希望将对sCommand和dBaseCommand的赋值放在Try-Catch块中,以防它们生成错误。Try-Catch块是正确的,如果更新执行中出现错误(未注释时),应该调用_-writeaudit。但是,您还应该测试retVal以确保它是1(更新的行数)。如果为零,则不更新任何内容。如果大于零,则更新了多行
另外,您可能希望将对sCommand和dBaseCommand的赋值放在Try-Catch块中,以防它们生成错误。您是否尝试了该代码?准备
参数化的SQL语句,我建议使用System.Diagnostics.TraceSource
或日志框架。我已经尝试了该代码。。如果有错误,它没有写在txt文件中。你试过代码吗?准备参数化的
SQL语句,我建议使用System.Diagnostics.TraceSource
或日志框架。我试过代码。如果有错误,它没有写在txt文件中。嗨,我试过catch…现在可以在文本文件中写错误消息了…但是,它不会循环发送每个错误消息。。如何将每个错误写入文本文件?我会在Catch块中放置一个断点,然后从那里开始单步查看发生了什么。嗨,我已经尝试了Catch…现在它可以将错误消息写入文本文件…但是,它不会循环每个错误消息。。如何使每个错误写入文本文件?我会在Catch块中放置一个断点,然后从那里开始单步查看发生了什么。