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','james@gmail.com')"
    Dim addCmd As SqlCommand = New SqlCommand(addSQL, sqlConn)
    sqlConn.Open()
    addCmd.ExecuteNonQuery()
    sqlConn.Close()
End Sub

End Class

代码里面没有错误,ExecuteNonQuery也返回1,但是我的数据库中没有记录。

4

3 回答 3

0

这种情况相当普遍。您的连接字符串是 AttachDbFilename=|DataDirectory|EasyReserv.mdf.
这意味着您的程序使用的 MDF 文件位于替换字符串 |DataDirectory| 指向的文件夹中。这是 BIN\DEBUG 或 BIN 文件夹,具体取决于您的应用程序是 ASP.NET 应用程序还是 WinForms 应用程序。(请参阅 DataDirectory 在哪里)。插入按预期工作,但您的 MDF 文件由服务器资源管理器连接到另一个目录(通常是项目文件夹)。因此,如果您使用 Server Explorer 查看数据库,您不会看到添加的记录。还要检查Copy To Output DirectoryMDF 文件的属性是否设置为Neveror Copy if Newer,否则在 Visual Studio 中调试时,您可能会在每次重新启动应用程序时丢失程序所做的所有更改

于 2013-06-12T09:53:11.603 回答
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
于 2014-01-09T07:50:45.477 回答
-1

在关闭 SqlConn 之前尝试使用 SqlDataReader 提取插入的客户。也许您正在检查记录是否插入到错误的数据库中。

于 2013-06-12T09:41:53.243 回答