Private Sub Command1_Click()
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=sh;Initial Catalog=shks;Data Source=LENOVO-PC\SQLEXPRESS;"
cnn.Open
Dim cmd As New ADODB.Command
If cnn.State = adStateOpen Then
Set cmd.ActiveConnection = cnn
cmd.CommandText = "update 銷售表 set 銷售時間= '" & Trim(Text3.Text) & "' ,銷售數量= '" & Trim(Text4.Text) & "' ,銷售金額= '" & Trim(Text5.Text) & "'where 產品編號='" & Trim(Text1.Text) & "'and 銷售商編號='" & Trim(Text2.Text) & "'"
cmd.Execute
MsgBox "修改成功!"
End If
End Sub
我的代碼是這樣 但是無論資料庫中是不是存在產品編號和銷售商編號都會顯示修改成功
我想怎么能該改成先判斷資料庫中是否存在對應的 產品編號和銷售商編號 再進行修改
學生剛上大學做課程設計 還是一個小白 求大神幫忙 用的是vb6.0和sql2008
uj5u.com熱心網友回復:
cmd.Execute 的執行結果如何,你又不進行判斷!
你這樣的代碼,只要 cnn.Open執行成功,
無論cmd.Execute的執行情況怎樣,都要執行:MsgBox "修改成功!"
uj5u.com熱心網友回復:
對于非按行回傳的 Command:command.Execute RecordsAffected, Parameters, Options
回傳值
回傳 Recordset物件參考。
引數
RecordsAffected 可選,長整型變數,提供者向其回傳操作所影響的記錄數目。RecordsAffected引數僅應用于操作查詢或存盤程序。RecordsAffected不回傳由回傳結果的查詢或存盤程序所回傳的記錄數目。
你可試一下加這個引數
dim r1 as long
cmd.Execute r1
if r1=0 then msgbox ”執行失敗"
uj5u.com熱心網友回復:
VB中的幫助上面還有幾行Execute 方法 (ADO Command)
執行在 CommandText 屬性中指定的查詢、SQL 陳述句或存盤程序。
語法
對于按行回傳的 Command:
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72164.html
下一篇:兩臺計算機檔案同步
