c# SQLite查询不返回

本文关键字:返回 查询 SQLite | 更新日期: 2023-09-27 18:07:32

我有一个奇怪的问题。我尝试在SQLite表上运行查询,但它不返回内容,而是返回"System.Byte[]"。下面的代码运行查询,应该得到"text"行内容:

    string q = "SELECT text FROM leiras WHERE(id=" + this.id + ");";
    DataTable dt = s.executeNormalQuery(q);
    DataRow dr = dt.Rows[0];
    string content = dr[0].ToString();

这是s.executeNormalQuery(字符串查询):

    DataTable dt = new DataTable();
    try
    {
        SQLiteConnection con = new SQLiteConnection(this.conURL);
        con.Open();
        SQLiteCommand com = new SQLiteCommand(query, con);
        SQLiteDataReader read = com.ExecuteReader();
        dt.Load(read);
        read.Close();
        con.Close();
    }
    catch (Exception e)
    {
        Console.WriteLine(e.StackTrace);
    }
    return dt;

表格中的"text"单元格包含

cg0ovnP0w6XyBKxLQq6XaZpxAPw/lHlSx/fRjZSdmuU=
作为blob

c# SQLite查询不返回

好的,谢谢,我找到了。

    byte[] cont = (byte[]) dr[0];
    string decodedString = System.Text.Encoding.UTF8.GetString(cont);
    Console.WriteLine(decodedString);

首先将DataRow 0转换为byte[],然后编码为UTF-8。