没有从非空 table 返回行

No rows returned from a non-empty table

我使用以下代码片段在 .sdf 文件

中查询本地 SQL 服务器 CE 数据库
try
{
    using (SqlCeConnection sqlCe = new SqlCeConnection(ConfigurationManager.ConnectionStrings["logdbcs"].ToString()))
    {
        SqlCeCommand sqlCeCommand = new SqlCeCommand(@"SELECT * FROM logs", sqlCe);
        sqlCe.Open();

        var reader = sqlCeCommand.ExecuteReader();
        Debug.WriteLine(reader.HasRows);

        sqlCe.Close();

        return "";
    }
}
catch (Exception exception)
{
    Debug.WriteLine(exception.Message);
    throw;
}

数据库有 3 行,但是这个查询 returns 根本没有行。我从 ASP.NET 应用程序执行此操作,同时从本地计算机进行调试。

试试这个代码。

Datatable dt = new Datatable(); 

try
{
    using (SqlCeConnection sqlCeConn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["logdbcs"].ToString()))
    {
        SqlCeCommand sqlCeCommand = new SqlCeCommand(@"SELECT * FROM logs", sqlCeConn);
        sqlCeConn.Open();

        sqlCeDataAdapter losqlCeDataAdapter = new sqlCeDataAdapter(sqlCeCommand);
        losqlCeDataAdapter.Fill(dt);

        return dt;
    }
}
catch (Exception exception)
{
    Debug.WriteLine(exception.Message);
    throw;
}

您很可能在连接字符串中使用了 DataDirectory(您向我们隐藏了它),因此请在 bin/debug 文件夹中查找您的数据库文件的副本。