gpt4 book ai didi

VB.net - 打开本地 sqlite 表

转载 作者:行者123 更新时间:2023-12-03 16:18:36 25 4
gpt4 key购买 nike

我试图打开一个本地存储的文件(SQLite)只是为了从特定表中提取一些行。我遇到的问题是我不断收到无法建立连接的错误(提供程序:SQL 网络接口(interface),错误:26 - 错误定位服务器/指定的实例),这非常有意义,因为这不是 sql 服务器只是存储在本地数据库文件中的信息。那么我是以错误的方式解决这个问题,还是这是处理 .db 或类似文件的唯一方法,而我忽略了一些东西?

    Dim connection As String = "Data Source=" & Form1.connstring & "; Integrated Security=true"
Dim SQLConn As New SqlConnection
Dim SQLcmd As New SqlCommand
Dim SQLdr As SqlDataReader

SQLConn.ConnectionString = connection
SQLConn.Open()

SQLcmd.Connection = SQLConn
SQLcmd.CommandText = SQLstr
SQLdr = SQLcmd.ExecuteReader()
While SQLdr.Read()
MessageBox.Show(SQLdr.ToString)
Form1.ListBox1.Text = SQLdr.ToString
End While

SQLdr.Close()
SQLConn.Close()

Form1.connstring 是完整的文件路径。
我在“Data Source=”行上尝试了几种不同类型的语法来尝试将其作为本地文件引用,但到目前为止我迷路了。

这是一个工具,它必须扫描不同的数据库文件 - 所有本地存储 - 以获取农场信息

编辑

解决方案:
Imports System.Data.SQLite 'Interop available on NuGet

Public Class _SQLite

Public Shared Sub SQLInq()
'Value to search as SQL Query - return first match
Dim SQLstr As String = "Select * FROM FsFileVersion WHERE FileDescription_LTH = 'Entry' LIMIT 1;"

'Define file to open - .path passed from parent form
Dim connection As String = "Data Source=" & _Compression.path
Dim SQLConn As New SQLiteConnection(connection)
Dim SQLcmd As New SQLiteCommand(SQLConn)
Dim SQLdr As SQLiteDataReader
SQLConn.Open()

SQLcmd.Connection = SQLConn
SQLcmd.CommandText = SQLstr
SQLdr = SQLcmd.ExecuteReader()

'For each query returned
While SQLdr.Read()
'Insert into textbox
Form1.Textbox1.Text = (SQLdr.GetString(SQLdr.GetOrdinal("FileVersion_LTH")))
End While

'End the connection
SQLdr.Close()
SQLConn.Close()
End Sub

结束类

最佳答案

您需要使用特定 ADO.NET 提供程序为 SQLite 提供的类。
首先,您需要安装从 source site 下载所需的位。 .
请务必仔细阅读 64 位和 32 位提供程序和支持的框架的版本。

之后,您需要在项目引用部分引用提供程序并添加适当的 Imports System.Data.SQLite源文件中的语句(替换 System.Data.SqlClient 的)

最后,您需要更改代码以使用 SQLite 类和 fix your connection string对于 SQLite 语法

Dim connection As String = "Data Source=" & Form1.connstring & ";Version=3"
Dim SQLConn As New SQLiteConnection
Dim SQLcmd As New SQLiteCommand
Dim SQLdr As SQLiteDataReader

SQLConn.ConnectionString = connection
SQLConn.Open()

SQLcmd.Connection = SQLConn
SQLcmd.CommandText = SQLstr
SQLdr = SQLcmd.ExecuteReader()
While SQLdr.Read()
MessageBox.Show(SQLdr(fieldIndexHere).ToString)
Form1.ListBox1.Text = SQLdr(fieldIndexHere).ToString
End While

SQLdr.Close()
SQLConn.Close()

关于VB.net - 打开本地 sqlite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19553165/

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