2015-06-12 80 views
1

當我使用星號等查詢SQLite表從C#:- C#,SQLite的SELECT查詢*返回數據類型

string SQLText = "SELECT * FROM [TableName]"; 
SqliteCommand Command = new SqliteCommand (SQLText, Database); 
(?) Result = (?)Command.ExecuteScalar(); 

由於明顯將是多於一個的數據值(並且典型地不同類型的)是以對象「object []」的數組形式返回的。

正在返回什麼數據類型?如果你發現問題,請在你得到你的信息的地方發帖,這樣我就可以避免再次提出愚蠢的問題。

肖恩

+0

什麼是你的第一列的該查詢的類型? –

+1

你應該**執行**你的查詢。 –

回答

2

ExecuteScalar將只返回一個值,第一行/第一列的結果集。它通常用於從數據庫中檢索單個值(例如,合計值),例如COUNT等。

您需要回收記錄集合。用途:

參見:Retrieving data with SqliteDataReader

+1

好吧有道理謝謝,我誤讀了ExecuteScalar()的描述我認爲它返回了整個行。 –

0

,如果你想獲得一個以上行,你應該使用

command.ExecuteReader(); 

ExecuteScalar()將只返回單個值;

ExecuteScalar()只用於其有望重返喜歡 "SELECT COUNT(*) FROM [TableName]"

唯一的單值查詢可以瞭解ExecuteScalar()ExecuteReader()