简单的SQLite查询不起作用

时间:2011-11-13 03:53:00

标签: c# .net sql sqlite

我正在使用sqlite紧凑版,我使用linqdpad做了一些测试,工作正常。但是当我转到C#代码时,它不起作用。我尝试使用以下代码从数据库中获取字段:

using System;
using System.Data.SqlServerCe;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var conStr = @"data source=C:\path\db.sdf;password=...";
            var con = new SqlCeConnection(conStr);
            con.Open();

            var cmd = new SqlCeCommand("select * from quest", con);
            SqlCeDataReader result = cmd.ExecuteReader();
            Console.Write(result.Read());
            Console.ReadLine();
            con.Close();
        }
    }
}

result.Read()返回false。好像没有田地。我该怎么解决?

使用linqpad我可以看到类似的内容:

enter image description here

查询:

select * from quest;

更新 当数据库(.sdf)使用密码时会发生此问题。

2 个答案:

答案 0 :(得分:0)

检查查询末尾的分号。可以删除它,查询执行权限。 另一方面,每件事情都是正确的。

答案 1 :(得分:0)

我看起来没问题 - 也许是这样:

var result 

将其更改为SqlCeDataReader。这是我能看到的唯一“错误”。

完成后也不要忘记关闭连接。