我正在用数据库创建VB .NET项目,我希望通过app.config的引用来配置连接字符串。 问题是我的项目运行良好-成功创建了数据库连接,成功关闭了连接,甚至假装插入也成功-但是最终没有任何反应,因为最终结果是没有任何内容输入数据库。.我使用Module.vb来使用全球代码。这是我的代码。
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="dbstrc" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
现在module.vb
Imports System.Data.SqlClient
Imports System.Data
Imports System.Configuration
Module MyModule
Public conn As New SqlConnection
Public da As New SqlDataAdapter
Public dt As New DataTable
Public cmd As New SqlCommand
Public Sub connect()
conn = New SqlConnection
conn.ConnectionString = ConfigurationManager.ConnectionStrings("dbstrc").ConnectionString
Try
conn.Open()
MsgBox("connection success")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
最后是form.vb
Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
connect()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim str As String
str = "INSERT INTO tsttbl(Id,Name) VALUES('" & tb1.Text.Trim & "','" & tb2.Text.Trim & "')"
cmd = New SqlCommand(str, conn)
If cmd.ExecuteNonQuery() > 0 Then
MsgBox("successfully entered")
clrentry()
Else
MsgBox("errorrr!!")
End If
conn.Close()
End Sub
Public Sub clrentry()
tb1.Text = ""
tb2.Text = ""
'connect()
End Sub
End Class
在简短的项目中没有给出连接错误或执行错误,但我的数据库中未插入静态值(即使它显示成功消息"successfully entered"
,根据我的代码执行成功后也是如此)
感谢您的帮助。
答案 0 :(得分:0)
您的值确实插入到数据库中,该数据库是计算机上安装的软件的本地副本,并且该数据仅可用于已安装的应用程序的实例。因此,您可能会想到数据在哪里,但数据在哪里也将jmcilhinney插入数据库的本地实例中。由于该数据是本地数据库,因此数据也仅可用于该特定应用程序实例。