没有从非空表返回的行

时间:2015-06-27 09:34:20

标签: c# sql asp.net sql-server-ce

我使用以下代码段在.sdf文件中查询本地SQL Server 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行,但此查询根本不返回任何行。我从ASP.NET应用程序执行此操作,同时从本地计算机进行调试。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

试试这段代码。

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;
}