我使用以下代码段在.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应用程序执行此操作,同时从本地计算机进行调试。
答案 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;
}