gpt4 book ai didi

sql - 在 SQL 表上插入数据...找不到数据

转载 作者:行者123 更新时间:2023-12-02 22:04:52 27 4
gpt4 key购买 nike

VB express 2010

1个表单,1个文本框,1个按钮

我通过单击 Project>add new item>service based database> 创建了 .mdf sql 数据库文件,并将其命名为 DXDB - 表名 DXtest 和 1 列名为 test

代码似乎有效……但是当我右键单击 DXtest 并单击显示表数据时……那里什么也没有……=(似乎它并没有真正将数据插入数据库本身……

完整代码如下

Imports System.Data
Imports System.Data.SqlClient

Public Class Form1

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
Dim Tx1 As String

Tx1 = TextBox1.Text

con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DXDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

con.Open()

cmd.Connection = con
cmd.CommandText = "INSERT INTO DXTest(Test) VALUES(@Tx1)"
cmd.Parameters.Add("@Tx1", SqlDbType.VarChar, 50).Value = Tx1
cmd.ExecuteNonQuery()

con.Close()

End Sub

End Class

最佳答案

整个 User Instance 和 AttachDbFileName= 方法是有缺陷的 - 充其量!在 Visual Studio 中运行您的应用程序时,它将复制 .mdf 文件(从您的 App_Data 目录到输出目录 - 通常是 .\bin\debug - 你的应用程序运行的地方)并且很可能,你的INSERT 工作得很好 - 但你只是在看错误的 .mdf 文件 最后!

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

在我看来真正的解决方案

  1. 安装 SQL Server Express(无论如何您已经完成了)

  2. 安装 SQL Server Management Studio Express

  3. SSMS Express 中创建您的数据库,为其指定一个合乎逻辑的名称(例如 DXDB)

  4. 使用它的逻辑数据库名称(当您在服务器上创建它时给定的)连接到它 - 不要弄乱物理数据库文件和用户实例。在这种情况下,您的连接字符串将类似于:

    Data Source=.\SQLEXPRESS;Database=DXDB;Integrated Security=True

    其他一切都完全和以前一样...

关于sql - 在 SQL 表上插入数据...找不到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16305152/

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