Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net创建sqlite数据库_Vb.net_Sqlite - Fatal编程技术网

vb.net创建sqlite数据库

vb.net创建sqlite数据库,vb.net,sqlite,Vb.net,Sqlite,到目前为止,我所做的以及我认为缺少的或我有限的知识中存在的错误 首先也是最重要的是,在我编写任何代码之前,我已经花了一周的时间阅读了 我已经在JavaFX和VB6中创建了DB,但这是一个VB.Net项目 我下载了System.Data.SQLite.Core 1.0.113.1并安装了扩展名,我在调试文件夹中看到了dll文件,但在我安装的扩展名中没有看到SQLite.Core 我们正在使用VS 2019 v 16.6.3开发W 7 64位 我的代码包括两个我尝试过的概念,一个是活动的,另一个是注

到目前为止,我所做的以及我认为缺少的或我有限的知识中存在的错误
首先也是最重要的是,在我编写任何代码之前,我已经花了一周的时间阅读了
我已经在JavaFX和VB6中创建了DB,但这是一个VB.Net项目

我下载了System.Data.SQLite.Core 1.0.113.1并安装了扩展名,我在调试文件夹中看到了dll文件,但在我安装的扩展名中没有看到SQLite.Core

我们正在使用VS 2019 v 16.6.3开发W 7 64位

我的代码包括两个我尝试过的概念,一个是活动的,另一个是注释掉的

我试图将DB命名为“Word.DB”,而无论我使用哪个概念,在调试文件夹中获得的名称都是“dbName”
我假设数据库的这个位置将允许我生成包含数据库的文件和EXE文件

My makeDB Sub当应用程序在创建数据库后第二次运行时,应执行它不执行的Else语句下面的代码
因为这篇文章有多个问题,所以没有一个问题可以解决创建和命名DB的尝试

Public Class frmStart

'Dim dbName As String = "Word.db"
Dim connStr As String = "Data Source={0};Version=3;"
Dim conn As SQLiteConnection
Dim cmd As SQLiteCommand
Private Sub frmStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'connectionString = String.Format(connectionString, configDb)
    'connStr = String.Format(connStr, dbName)
    connStr = String.Format(connStr, "Word.db")
    makeDB()
End Sub

Public Sub makeDB()
    'If Not My.Computer.FileSystem.FileExists(dbName) Then
    If Not My.Computer.FileSystem.FileExists("Word.db") Then
        Try
            conn = New SQLiteConnection("Data Source=dbName;Version=3;")
            conn.Open()
            tbMessage.Text = "Database Created"
        Catch ex As Exception
            tbMessage.Text = "Database NOT Created"
        End Try
        conn.Close()
    Else
        btnCreate.Visible = False
        btnToFormTwo.Visible = True
        tbMessage.Text = "Make Table"
    End If
End Sub<br/>
公共类frmStart
'Dim dbName As String=“Word.db”
Dim connStr As String=“数据源={0};版本=3;”
Dim conn作为SQLITE连接
Dim cmd作为SQLiteCommand
私有子frmStart_Load(发送方作为对象,e作为事件参数)处理MyBase.Load
'connectionString=String.Format(connectionString,configDb)
'connStr=String.Format(connStr,dbName)
connStr=String.Format(connStr,“Word.db”)
makeDB()
端接头
公共子makeDB()
'如果不是My.Computer.FileSystem.FileExists(dbName),则
如果不存在My.Computer.FileSystem.FileExists(“Word.db”),那么
尝试
conn=newsqliteconnection(“数据源=dbName;版本=3;”)
康涅狄格州公开赛
tbMessage.Text=“已创建数据库”
特例
tbMessage.Text=“未创建数据库”
结束尝试
康涅狄格州关闭
其他的
btnCreate.Visible=False
btnToFormTwo.Visible=True
tbMessage.Text=“制作表格”
如果结束
末端接头
是的,我导入了System.Data.SQLite 我注意到DB位于x86文件夹下,而不是x64文件夹下,这是因为

conn = New SQLiteConnection("Data Source=dbName;Version=3;")
dbName是一个字符串,而不是您声明的字符串(名称)

您应该使用
“数据源=“&dbName&”Version=3;”
,或者使用您以前制作的东西

Public Class frmStart
Dim dbName As String = "Word.db"
Dim connStr As String = "Data Source={0};Version=3;"
Dim conn As SQLiteConnection
Dim cmd As SQLiteCommand

Private Sub frmStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    connStr = String.Format(connStr, dbName)
    makeDB()
End Sub

Public Sub makeDB()
    If Not My.Computer.FileSystem.FileExists(dbName) Then
        Try
            conn = New SQLiteConnection(connStr)
            conn.Open()
            'tbMessage.Text = "Database Created"
        Catch ex As Exception
            'tbMessage.Text = "Database NOT Created"
        End Try
        conn.Close()
    Else
        'btnCreate.Visible = False
        'btnToFormTwo.Visible = True
        'tbMessage.Text = "Make Table"
    End If
End Sub
End Class

另外,项目包和visual studio扩展是两种不同的东西,您向项目中添加了一个sqlite包,而不是vs的扩展。

我如何看到安装了该包?除了包裹。config@Vector工具>Nuget…>管理…>installed为什么在Microsoft.Data.Sqlite.Core旁边会显示一个绿色向下箭头我没有安装它我安装了System.Data.Sqlite.Core只是我想我的强迫症正在发作