我有一个奇怪的问题。我尝试在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=
as blob。
答案 0 :(得分:0)
好的,谢谢,我找到了它:
byte[] cont = (byte[]) dr[0];
string decodedString = System.Text.Encoding.UTF8.GetString(cont);
Console.WriteLine(decodedString);
首先将DataRow 0转换为byte [],然后编码为UTF-8。