在VB.NET中插入数据到SQL数据库时,数据未被存储。

4
我有一个奇怪的问题:我正在尝试对数据库进行一些基本过程以插入数据,但我不知道发生了什么事情,但它没有起作用。
问题在于我有一个名为“prova3”的数据库,这是一个使用vb.net 2013创建的SQL Server 2012数据库,其中包含一个名为“tabela”的表。我创建了一个数据集来查看存储在“app.config”中的连接字符串。字符串如下所示。我没有收到错误消息,但数据未被插入。当我转到服务器资源管理器以查看表中的数据时,它为空。
我认为数据已经保存在其他地方,但我不知道如何修复它,因为我认为我正在正确编码。这是针对vb.net的,但我为asp.net执行了相同的代码,它可以工作。奇怪。
你能帮助我吗?
在表单中只有一个textbox1和一个button1控件。没有更多的代码。
 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim ImageUrlSt As String
    Dim command1 As New SqlCommand
    Dim con As New SqlConnection
    ImageUrlSt = TextBox1.Text
    Try
        con.ConnectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Prova3.mdf;Integrated Security=True"
        con.Open()
        command1.Connection = con
        command1.CommandText = "INSERT INTO Tabela (imageurl) VALUES (@imageurlst)"
        command1.Parameters.Add(New SqlParameter("@imageurlst", ImageUrlSt))
        command1.ExecuteNonQuery()
        MsgBox("News Saved Succesfully")
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        con.Close()
    End Try
End Sub

2
“Table”是你的表的名称吗?这是一个 SQL 关键字,你是怎么把它作为表的名称使用的呢? - MusicLovingIndianGirl
1
抱歉,我复制了一个错误的代码版本。表的名称是Tabela,在代码中也是tabela。我已经编辑了代码。感谢您注意到它。 - Porkopek
你的文本框有值吗?我的意思是,你在里面输入了任何数据吗? - MusicLovingIndianGirl
你尝试在代码中设置断点了吗?它们可能会显示出现的任何异常。 - MusicLovingIndianGirl
1
有时在调试时,使用 |DataDirectory| 作为路径可能会出现问题。你是否检查了 \bin\debug 下的数据库副本? - ɐsɹǝʌ ǝɔıʌ
显示剩余10条评论
1个回答

2
有时候在调试时,使用路径 |DataDirectory| 会有问题。你是否检查了 \bin\debug 目录下的数据库副本?
有一个属性叫做 Copy to Output Directory,默认值是 Copy if newer(如果你使用的是 .mdf 或者 .mdb 文件,则默认值是 Copy always)。你可以查看这篇MSDN 文档 来了解这个属性的含义。简单来说,本地数据库文件将被复制到输出目录,而那个数据库才是会被更新的。
如果你不想让 Visual Studio 为你复制数据库文件,你可以将 Copy to Output Directory 属性设置为 Do not copy。然后你就可以选择何时以及如何覆盖数据库文件。当然,你仍然需要两个数据库文件副本:设计时间使用解决方案目录中的数据库文件,而运行时则使用输出目录中的数据库文件。
另一种选择是在 ConnectionString 中使用绝对路径,例如:con.ConnectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\MyProjectFolder\Prova3.mdf;Integrated Security=True"

很高兴能帮忙 :-) 如果您觉得有帮助,请不要忘记点赞。 - ɐsɹǝʌ ǝɔıʌ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接