c# - 当使用 OleDBDataReader 从 Access 数据库中选择一个备注字段时,它只返回部分字符串。我怎样才能得到整个字符串?

标签 c# .net ms-access oledbdatareader

这是我的代码:

OleDbConnection connection = new OleDbConnection(
   "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\Offline.accdb;Persist Security Info=False");
connection.Open();
OleDbCommand command = connection.CreateCommand();
command.CommandText = "SELECT DISTINCT B.* FROM BlankFormSubmissions B, Actions A WHERE A.FormName = 'FindingNemo' AND B.ProcessName = A.ProcessName AND B.ActionName = A.ActionName AND B.ID = 12 OR B.ID = 13 OR B.ID = 14 ORDER BY B.ID";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
    string xml = (string)reader["XML"];
    // ... do something with xml
}

列“XML”是一个 Access 数据库表列,类型为 memo。

xml 的值始终只包含 XML 的第一个字符。我猜这是前 256 个字符。显然,我需要字符串中的所有字符。

有人知道如何解决这个问题吗?

谢谢:)

最佳答案

问题可能出在备注字段本身;

备注字段不能用于聚合参数(如 Max、Var、Sum 等) 如果在查询的“分组依据”总计中使用,则仅返回前 255 个字符。 Group Aggregate 函数中的“Having”和“Where”子句也仅返回前 255 个字符 但是,使用“First”或“Last”参数会返回字符串的完整长度。

这是完整的 SQL 语句吗?

关于c# - 当使用 OleDBDataReader 从 Access 数据库中选择一个备注字段时,它只返回部分字符串。我怎样才能得到整个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5155234/

相关文章:

c# - 通过文件夹的 Web 项目

c# - 在 c# Winforms 中使用来自 Consul 的服务

c# - OleDb 连接打开时出现 SEHException

vba - 更新变量时的语法糖字符串连接

c# - 通过将字符串类型的列表设置为字典来创建字典

c# - RhinoMocks - 在模拟界面上引发事件失败

c# - 在 .Net 中测试 Windows 服务

css - 如何从外部 Web 应用程序链接 css 文件

.net - 使用 “SQL”查询Active Directory?

SQL 字符串比较忽略空格