【问题标题】:WinCE7 0xc0000005 Native exception on Execute readerWinCE7 0xc0000005 执行阅读器上的本机异常
【发布时间】:2015-08-20 06:33:29
【问题描述】:

我正在使用具有 .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 reader, Int32 resultType) 。 . .

它继续。这是数据库读取代码

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 版本?

【问题讨论】:

  • 尝试选择列而不是“SELECT *” - 并设置参数大小
  • @ErikEJ 我试过但同样的问题,我用 sqlce 数据库创建了另一个项目,并使用了用它创建的数据集。同样的问题

标签: c# .net sql-server-ce windows-embedded-compact sqlcedatareader


【解决方案1】:

最后经过大量谷歌搜索,我通过安装 SQL Server CE 3.5 的 SP2 解决了这个问题,这些是包 Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows MobileMicrosoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop

安装这些后,删除对System.Data.SqlServerCe 的引用,并再次添加与版本3.5.1.0 相同的引用。该文件位于C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll,显示的版本是windows explorer is 3.5.8080.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2023-03-13
    • 2020-10-24
    相关资源
    最近更新 更多