使用 vb.net 在现有 sqlite 数据库中创建新表

问题描述 投票:0回答:1

我有一个已创建的 VB.Net 应用程序,并且在 SQLite 数据库中包含大约 2 年的数据 我设计了多个表之一的方案错误,现在我的搜索功能不正确。 该表的所有列都设置为文本数据。 所以我需要一个新表,其中一些列设置为 INTEGER。 我尝试创建一个不允许的新表。 好的,从应用程序中删除数据库并将旧数据写入新的改进表中。 问题是我应该将旧数据库及其表放在哪里,以便我可以将数据写入新表? 我已经查看了 ATTACH 语法,但不知道它如何解决我的问题? 我尝试使用 cmd 语句,但我的 Windows 7 告诉我它无法正常使用 sqlite3 我不太擅长命令行编程,所以这不是一个入门者,抱歉。

所以问题是如何使用 VB.Net 创建新数据库并从旧数据库移动数据

Public Sub makeTxData()

    'create table TxDataTable String for cmd
    Dim create_table As String = String.Empty
    create_table = "CREATE TABLE IF NOT EXISTS TxData(
                    TID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
                    txSortDate TEXT,
                    txYear TEXT,
                    txType TEXT,
                    txAmount TEXT,
                    txCKNum TEXT,
                    txDesc TEXT,
                    txBalance TEXT,
                    txSearchMonth TEXT)"

    Dim dbTable As String = "TxDataTable"

我希望这个带有 txYear 和 txSearchMonth 的表是整数

vb.net sqlite
1个回答
0
投票

我不想尝试为此编写按钮点击代码
我使用DB Browser查看数据库并按此顺序执行了两个命令
DB 浏览器有一个名为“执行 SQL”的选项卡
数据库浏览器链接
第一

ALTER TABLE TxData ADD NxData INTEGER

TxData 是表名,NxData 是 INTEGER 的新列

第二步将列 txSearchMonth 中的数据移动到新列 NxData

UPDATE TxData SET NxData = txSearchMonth
© www.soinside.com 2019 - 2024. All rights reserved.