JBTALKS.CC
标题:
很急~VB TRY CATCH~END TRY 问题~
[打印本页]
作者:
pikachew
时间:
2011-7-17 03:27 PM
标题:
很急~VB TRY CATCH~END TRY 问题~
很急~VB TRY CATCH~END TRY 问题~
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
If txtID.Text <> "" Then
strsql = "insert into Table1 (stfID,staffname,staffage,staffadd,staffposition,staffsex,stafftime) values ('" _
& txtID.Text & "','" _
& txtName.Text & "','" _
& txtAge.Text & "','" _
& txtAddress.Text & "','" _
& txtPosition.Text & "','" _
& txtSex.Text & "','" _
& txtTime.Text & "')"
MsgBox("Saved")
Else
MsgBox("invalid", vbCritical)
End If
Dim acscmd As New OleDb.OleDbCommand
acscmd.CommandText = strsql
acscmd.Connection = acsconn
acsda.SelectCommand = acscmd
acsdr = acscmd.ExecuteReader
acscmd.ExecuteNonQuery()
acscmd.Dispose()
Me.filllistview()
End Sub
这是小弟的CODING
想请问下
如果要用TRY CATCH ENDTRY确保当同样的ID时不能被SAVE??
因为如果同样的ID SAVE了会有RUNTIME ERROR
请问要如何解决此问题呢?
谢谢
作者:
goodhermit95
时间:
2011-7-18 09:19 PM
在出现runtime error的部分try catch...
作者:
宅男-兜着走
时间:
2011-7-18 10:48 PM
那么急?????
----------------------------------------------------------------------------------------------------------------------------------------------
简单。
在database内 set ID = unique.
那么同样的资料就会 throw exception.
作者:
forexen
时间:
2011-7-19 01:40 PM
如果 stfID 是user keyin 的,你可以写:
sql = "select * from table1 where stfid = '" & txtid.text & "' "
if ds.tables(0).rows.count > 0 then
msgbox("invalid staff id")
else
sql insert command
end if
作者:
forexen
时间:
2011-7-19 01:52 PM
通常stfid 是 autogenerate 的。比如,IT001, IT002, ACC001,ACC002,HR001,HR002
这样就不会出现duplicate staffid 了。如果是出现duplicate data, 用 try catch 不是最好的方法,因该check 你的 program 错在哪里。
作者:
pikachew
时间:
2011-7-23 01:53 PM
SOLVE 到了。谢谢帮忙。
还有一个问题就是我想问
概念大概是这样。
CAR PARK PARKINg ticketing system
每当读取DATABASE 里的资料,就会在其户口扣取钱。
比如说, 每当RFID TAGS 被SCAN 到时,DATABASE里有一个FIELD我命它为BALANCE. BALANCE 会减少。应该如何下手呢?
谢谢
balance = balance - 10.
大概这样~
作者:
forexen
时间:
2011-7-27 09:52 PM
If RFIDTags= True then
select balance from balancedatabase
If balance >10 then
balance = balance - 10
else
msgbox("Please top up your amount")
end if
End if
作者:
宅男-兜着走
时间:
2011-7-28 08:07 PM
很奇怪, 你竟然都已经会把 Balance Select 出来了, 那么RFID Scan 了 Event 你 Catch 到了, Select Data, 扣掉 Balance 然后再 save 回去 database。
你都会 query + hardware integration 了, 那么还有什么难度呢?
作者:
pikachew
时间:
2011-9-1 09:01 PM
谢谢~帮满~
作者:
sven86
时间:
2011-12-10 02:50 PM
别用try and catch .
建议你先用select command 查找user 输入的user id.
如果user id 存在在database 里, 可以告诉user 说不能用。
用try and catch 会把任何error 都抹杀掉
欢迎光临 JBTALKS.CC (https://jbtalks.my/)
Powered by Discuz! X2.5