从SQLite数据库中读取值并将值保存在变量中

本文关键字:保存 存在 变量 SQLite 读取 数据库 | 更新日期: 2023-09-27 18:10:03

我在Unity中遇到了一些SQLite编程问题。我有一个有几个值的数据库我想取其中一个值并将其作为变量存储。这是我目前所看到的:

public IDbConnection _dbc;
public IDbCommand _dbcm;
public IDataReader _dbr;
public string test2 = "";
public int test = 10;
_dbc = new SqliteConnection(_constr);
_dbc.Open();
_dbcm = _dbc.CreateCommand();
_dbcm.CommandText = "SELECT `Name` FROM `Classes` WHERE `HD`='"+test+"'";
_dbr = _dbcm.ExecuteReader();
while( _dbr.Read())
    test2 = _dbr.GetString(0);
print (test2);
_dbr.Close();

我对它进行了一些操作,但是到目前为止,打印报告test2的值没有变化,test2是我想要存储SQLite DB值的变量。

从SQLite数据库中读取值并将值保存在变量中

我想知道这是否是模棱两可的结果返回的结果。如果你只想要一个结果,执行标量函数不是更有用吗?我不太了解Unity,如果结果不是正确的类型,GetString()是否会执行隐式转换。

下面的例子是一些旧的Visual Basic,但应该可以显示我所说的内容。

Dim sqlConnect As New SQLite.SQLiteConnection
    sqlConnect.ConnectionString = MyStandAloneDB.DBConnStr
    Dim sqlCmd As SQLite.SQLiteCommand = sqlConnect.CreateCommand
        Try
            sqlConnect.Open()
Dim nme As String = CStr(sqlCmd.ExecuteScalar)
            TextDbName.Text = nme
Catch ex As Exception
            MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            sqlCmd.Dispose()
            sqlConnect.Close()
        End Try