gpt4 book ai didi

sql - 在 sql 数据库 vb.net 中插入数据未被存储

转载 作者:太空狗 更新时间:2023-10-30 01:57:12 25 4
gpt4 key购买 nike

我有一个奇怪的问题:我正在尝试执行一些基本过程以将数据插入数据库,但我不知道它发生了什么,但它不起作用。

问题是我有一个名为 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

最佳答案

有时 |DataDirectory| 作为路径在调试时会出现问题。您是否在 \bin\debug 检查了数据库副本?

有一个属性Copy to Output Directory,默认值为Copy if newer(如果您使用的是.mdf 或.mdb 文件,默认值为始终复制)。你可以检查这个 MSDN document 以了解此属性的含义。简而言之,本地数据库文件将被复制到输出目录,该数据库将被更新。

如果您不希望 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"

关于sql - 在 sql 数据库 vb.net 中插入数据未被存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22653959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com