我正在使用具有 .net Compact Framework 3.5 和 SQL Server CE 3.5SP1 的 VS2008 SP1 在 WinCE7.0 上为 Motorola MC32N0 开发一个简单的应用程序。
每当我尝试从数据库中读取数据时,都会出现此错误。
projectName.exe 中发生本机异常。选择退出,然后重新启动此程序或选择详细信息以获取更多信息。
当我进入细节时,我得到了这个
异常代码:0xc0000005
异常地址:0xc0000000
读取:0xc0000000
在 NativeMethods.GetKeyInfo(IntPtrpTx,字符串 pwszBase 表,IntPtr prgDbKeyInfo,Int32 cDbKeyInfo,IntPtr pError)
在 SqlCeDataReader.FillMetaData(SqlCeDataReader 阅读器,Int32 结果类型). .
它继续。这是数据库读取代码
public List<Users> SelectByUserName(string UserName)
{
var list = new List<Users>();
using (var command = EntityBase.CreateCommand(Transaction))
{
if (UserName != null)
{
command.CommandText = "SELECT * FROM Users WHERE UserName=@UserName";
command.Parameters.Add("@UserName", SqlDbType.NVarChar);
command.Parameters["@UserName"].Value = UserName;
}
else
command.CommandText = "SELECT * FROM Users WHERE UserName IS NULL";
using (var reader = command.ExecuteReader())
{
list = fetchData(reader);
}
}
return list;
}
当它达到这一点command.ExecuteReader()
时,就会发生异常。
经过大量搜索后,有些人说这可能与 SQL Server CE 版本不匹配,但我该如何解决呢?部署应用程序时将一个文件复制到文件夹。如何检查它的版本或更改正在使用的 SQL Server CE 的版本?