我剛剛在SQLite.NET庫中發現了一個錯誤。我有一個函數用Select命令的內容返回一個字符串數組。代碼如下:在正確的語句上選擇return empty
string selectSQL = "SELECT id, token FROM Files WHERE (name LIKE 'Client.rar') AND (folder_id IN (SELECT id FROM Directories WHERE Path || name || '\' LIKE 'C:\Documents and Settings\Django\'))";
SQLiteCommand selectCommand = new SQLiteCommand(selectSQL, sqliteCon);
SQLiteDataReader dataReader = selectCommand.ExecuteReader();
bool results = dataReader.Read();
if (results == true)
{
List<string> list = new List<string>();
for (int i = 0; i < dataReader.FieldCount; i++)
{
string field = dataReader[i].ToString();
list.Add(field);
}
string[] arr = list.ToArray();
dataReader.Close();
sqliteCon.Close();
return arr;
}
else
{
string[] arr = { "" };
return arr;
}
使用SQLite數據瀏覽器程序查看數據庫。事實是,在以前的軟件中的查詢工作,並在我的C#應用程序返回一個空的結果。
任何人都知道在哪裏?看起來一切正常
問候!
嘗試更改第一行:'字符串selectSQL = @「選擇ID ......」 – Pete 2013-02-15 17:48:21
是什麼讓你認爲這是一個錯誤..看起來你可以有你是如何從DataReader的讀取問題? 。你怎麼不使用While循環,當你調試代碼..你是否得到'field'中的任何值,如果'arr'變量爲null或空,那麼在'list'中,然後嘗試這個'string [] arr = {};'arr = list.ToArray();' – MethodMan 2013-02-15 17:49:59
一些建議:如果「以前的軟件有效」,那麼你做了一些事情,現在它不起作用,問題可能在於 – 2013-02-15 18:13:10