您好我正在尝试从sqlite返回值,但目前我在获取整个列表列表时遇到问题。
这是我到目前为止所做的:
private IDataReader _reader = null;
public void DB_Load_test ( )
{
_connection = new SqliteConnection ( _sqlDBLocation );
_command = _connection.CreateCommand ( );
_connection.Open ( );
_command.CommandText = "SELECT * FROM some_table";
_reader = _command.ExecuteReader ( );
}
_reader
部分使用_reader.GetValue ()
方法从列中返回所有值的值。但是如何更改行?只有第一行可以这样读...
答案 0 :(得分:0)
使用read方法迭代行。
while (_reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
答案 1 :(得分:0)
您需要阅读SQlDataReader读者从ExecuteReader读取的所有值。这里我创建了一个示例类来举例说明。
班级定义:
public class Sample
{
public string val1{ get; set; }
public int val2 { get; set; }
//Add other fields for data as per ur database
public Sample(string val1,int val2 )//add further members in constructor
{
this.val1 = val1;
this.val2 = val2;
}
}
Sample[] allRecords = null;
List<Sample> list = new List<Sample>();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
list.Add(new Sample(reader.GetString(0), reader.GetInt32(1));
}
allRecords = list.ToArray();
}
不,你不必添加与数据库相同的var名称,但是在数据类型的情况下你应该