Can';t将数据保存到SQL Server数据库

Can';t将数据保存到SQL Server数据库,sql,sql-server,database,vb.net,Sql,Sql Server,Database,Vb.net,我很困惑为什么我添加的数据没有保存到数据库中 当我的程序运行时,更新DataGridView中显示的数据没有问题,但是当我关闭程序时,添加的数据消失了 我试图显示表数据,但没有添加新数据。你能告诉我有什么问题吗 这是我的代码: Dim con As New SqlClient.SqlConnection Dim cmd As New SqlClient.SqlCommand Dim adaptor As New SqlClient.SqlDataAdapter Dim dataset As Ne

我很困惑为什么我添加的数据没有保存到数据库中

当我的程序运行时,更新
DataGridView
中显示的数据没有问题,但是当我关闭程序时,添加的数据消失了

我试图显示表数据,但没有添加新数据。你能告诉我有什么问题吗

这是我的代码:

Dim con As New SqlClient.SqlConnection
Dim cmd As New SqlClient.SqlCommand
Dim adaptor As New SqlClient.SqlDataAdapter
Dim dataset As New DataSet

con.ConnectionString = ("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True")

con.Open()

cmd.CommandText = "INSERT INTO [Table](FirstName,LastName,MI,Address,Email) VALUES(@FN,@LN,@MI,@AD,@EM)"
cmd.Connection = con

cmd.Parameters.Add("@FN", SqlDbType.VarChar).Value = TextBox1.Text
cmd.Parameters.Add("@LN", SqlDbType.VarChar).Value = TextBox2.Text
cmd.Parameters.Add("@MI", SqlDbType.VarChar).Value = TextBox3.Text
cmd.Parameters.Add("@AD", SqlDbType.VarChar).Value = TextBox4.Text
cmd.Parameters.Add("@EM", SqlDbType.VarChar).Value = TextBox5.Text

cmd.ExecuteNonQuery()

MsgBox("Added!")
con.Close()

Me.TableTableAdapter.Fill(Me.Database1DataSet.Table)
整个AttachDbFileName=方法是有缺陷的-最多!在Visual Studio中运行应用程序时,它将围绕
.mdf
文件进行复制(从
app\u Data
目录复制到输出目录-通常是
\bin\debug
-应用程序运行的地方)和最有可能是,您的
INSERT
工作正常-但您最后看到的是错误的.mdf文件

如果您想继续使用这种方法,请尝试在
myConnection.Close()
调用上放置一个断点,然后使用SQL Server Mgmt Studio Express检查
.mdf
文件,我几乎可以肯定您的数据在那里

在我看来,真正的解决方案是使用管理工具(如SSMS Express)在服务器上创建数据库,给它一个逻辑名称(例如
MyDatabase
),然后使用它的逻辑数据库名称连接到它(在服务器上创建时给出)。不要乱搞物理数据库文件和用户实例。在这种情况下,您的连接字符串类似于:

Data Source=.\\SQLEXPRESS;Database=MyDatabase;Integrated Security=True
其他一切都和以前一样


另请参阅Aaron Betrand的博客文章,了解更多背景信息

您是否尝试了探查器跟踪?