2015-06-12 75 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()