当我使用下面的代码在.mdf文件中输入数据时,没有错误,但在数据库中不显示数据

时间:2014-02-19 14:23:29

标签: visual-studio-2008

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim con As New SqlConnection
    Dim cmd As New SqlCommand
    con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
    ''cmd.CommandText = "insert into data values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox2.Text + "')"
    cmd.Connection = con
    cmd.CommandText = "insert into  db1(id,name) values ( '" + TextBox1.Text + "','" + TextBox2.Text + "')"
    con.Open()
    cmd.ExecuteNonQuery()
    con.Close()
End Sub

1 个答案:

答案 0 :(得分:0)

这是一个常见的场景,对新手很有帮助。

您使用| DataDirectory |替换字符串。

在WinForms应用程序中,该字符串等同于您的应用程序运行的目录。在Visual Studio中运行时,此目录是BIN \ DEBUG文件夹(或x86变体)。

但是,如果您使用内部Visual Studio Server Explorer查看MDF文件,那么您可能正在使用不同的连接字符串。一个连接字符串,指向位于当前项目文件夹中的MDF文件。当然,执行调试会话并未更改此文件。

我建议在Server Explorer窗口中创建第二个连接字符串。此连接应指向BIN \ DEBUG文件夹中的MDF文件。保留第一个仅用于数据库架构更改,第二个用于检查应用程序的有效工作

另外,如果您在项目项目之间列出了MDF文件,请记得将属性Copy To Output Directory更改为Copy if Newer