2013-06-12 76 views
1
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','[email protected]')" 
    Dim addCmd As SqlCommand = New SqlCommand(addSQL, sqlConn) 
    sqlConn.Open() 
    addCmd.ExecuteNonQuery() 
    sqlConn.Close() 
End Sub 

End Class 

代碼內部沒有錯誤,並且ExecuteNonQuery也返回1,但在我的數據庫中沒有記錄。無法使用VB.net更新SQL Server

+0

調試如果更改,會發生什麼'customerID'的數據類型添加'identity',然後在插入後立即查詢'SCOPE_IDENTITY()'? – Dai

+0

數據庫仍未更新 – user2477598

+1

如何檢查記錄是否被插入?你在使用VS IDE中的Server Explorer查看你的表嗎?如果是這樣,服務器資源管理器使用的連接字符串與應用程序使用的連接字符串相同? – Steve

回答

0

這種情況相當普遍。您的連接字符串是AttachDbFilename=|DataDirectory|EasyReserv.mdf
這意味着程序使用的MDF文件位於替換字符串指向的文件夾中| DataDirectory |這是BIN \ DEBUG或BIN文件夾,具體取決於您的應用程序是ASP.NET應用程序還是WinForms應用程序。 (See Where is DataDirectory)。插入按預期工作,但您的MDF文件通過服務器資源管理器連接到另一個目錄(通常是項目文件夾)。因此,如果您使用服務器瀏覽器查看數據庫,則看不到添加的記錄。同時檢查是否爲MDF文件屬性Copy To Output Directory設置爲NeverCopy if Newer,否則,你可能在你的應用程序的每個重啓寬鬆程序所做的每一個變化,而在Visual Studio

+0

非常感謝,問題解決了。 – user2477598

-1

在關閉SqlConn之前,嘗試使用SqlDataReader提取插入的客戶。也許你正在檢查記錄是否插入到錯誤的數據庫中。

0
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