簡體   English   中英

在SQL表上插入數據…找不到數據

[英]Insert data on SQL Table… cannot find the data

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

整個用戶實例和AttachDbFileName =方法都有缺陷-充其量! 在Visual Studio中運行應用程序時,它將在.mdf文件周圍復制(從App_Data目錄復制到輸出目錄-通常是.\\bin\\debug應用程序運行所在的位置),並且很可能 INSERT可以正常工作-但最后您只是看錯了.mdf文件

如果您要堅持這種方法,請嘗試在myConnection.Close()調用上放置一個斷點,然后使用SQL Server Mgmt Studio Express檢查.mdf文件-我幾乎可以確定您的數據在那里。

我認為真正的解決方案

  1. 安裝SQL Server Express(並且您已經完成了此操作)

  2. 安裝SQL Server Management Studio Express

  3. SSMS Express中創建數據庫,給它一個邏輯名(例如DXDB

  4. 使用其邏輯數據庫名稱 (在服務器上創建時提供)連接到該數據庫 -並且不要弄亂物理數據庫文件和用戶實例。 在這種情況下,您的連接字符串將類似於:

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

    和其他一切是完全一樣的前...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM