2013-06-12 54 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