这是我的代码:
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/