[英]Cannot update SQL Server with VB.net
Imports System.Data
Imports System.Data.SqlClient
Public Class Reservation
Dim sqlConn As SqlConnection
Private Sub Reservation_Load(sender As Object, e As EventArgs) Handles MyBase.Load
sqlConn = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|EasyReserv.mdf;Integrated Security=True")
End Sub
Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
Dim addSQL As String = "INSERT INTO CUSTOMER ( customerID, name, contactNumber, email ) VALUES (1, 'James', '012444444','james@gmail.com')"
Dim addCmd As SqlCommand = New SqlCommand(addSQL, sqlConn)
sqlConn.Open()
addCmd.ExecuteNonQuery()
sqlConn.Close()
End Sub
End Class
代碼內沒有錯誤,並且ExecuteNonQuery
也返回1,但是我的數據庫中沒有記錄。
這種情況很常見。 您的連接字符串為AttachDbFilename=|DataDirectory|EasyReserv.mdf
。
這意味着程序使用的MDF文件位於替換字符串| DataDirectory |指向的文件夾中。 這是BIN \\ DEBUG或BIN文件夾,具體取決於您的應用程序是ASP.NET應用程序還是WinForms應用程序。 (請參閱DataDirectory在哪里) 。 插入可以按預期工作,但是您的MDF文件由服務器資源管理器連接到另一個目錄(通常是項目文件夾)中。 因此,如果使用服務器資源管理器查看數據庫,則看不到添加的記錄。 還要檢查是否將MDF文件的“ Copy To Output Directory
”屬性設置為“ Never
或Copy if Newer
則Copy if Newer
,否則您可能會在Visual Studio中調試時,在應用程序每次重新啟動時失去程序所做的所有更改。
Try
If con.State = ConnectionState.Open Then con.Close()
con.Open()
global_command = New SqlCommand("UPDATE products_tbl set running_no = '" & txt_running.Text & "' where template_code = 'n'and prod_no = '" & txt_product.Text & "'", con)
global_command.ExecuteNonQuery()
global_command.Dispose()
MsgBox("Successfully updated!", MsgBoxStyle.Information, "Message")
where = vbNullString
Catch ex As Exception
MsgBox("Trace No 4: System Error or Data Error!" + Chr(13) + ex.Message + Chr(13) + "Please Contact Your System Administrator!", vbInformation, "Message")
End Try
End Sub
關閉SqlConn之前,請嘗試使用SqlDataReader提取插入的客戶。 也許您正在檢查記錄是否插入了錯誤的數據庫中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.