尝试在 SQL 服务器 CE 上执行 ExecuteReader 时发生未指定错误

Unspecified Error when trying to ExecuteReader on SQL Server CE

我已经使用 SQL Server CE 在我的应用程序上为 Windows Mobile 6.5 实现了数据库存储。

已成功在设备 (Motorola MC65) 上安装 SQL Server CE CAB 文件。

成功创建数据库文件,并创建表。插入也可以执行。

然而,当我尝试 运行 ExecuteReader() 读取记录时,我遇到了以下错误:

Error Code: 80004005
Message : Unspecified error
Minor Err.: 25534
Source : SQL Server Compact ADO.NET Data Provider

不知道为什么会这样。由于可以执行 insert 我认为这应该不是连接或权限问题。

阅读代码如下:

openConnection();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT NAME FROM GROUP_INFO ORDER BY NAME ";

SqlCeDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
      string groupName = reader.GetString(0);
      listGroup.Add(groupName);
}

cmd.ExecuteReader()执行的那一行抛出异常。

感谢任何指点。谢谢。

为 SqlCeExceptions 实施正确的错误处理!此处记录了错误 https://technet.microsoft.com/en-us/library/ms172350(v=sql.110).aspx

不能在 ORDER BY 子句中使用大对象(ntext 和 image)。

也许您应该将该列重新定义为 nvarchar(4000)(当前为 ntext),或者使用以下语句重新表述查询:

 ORDER BY CAST(Name as nvarchar(4000))

但这会导致 table 扫描