MySqlDataReader.GetBytes
我对, 和引用列序号有点问题。
表结构:
ID - Primary, int, not null, auto_increment
TNode - , not null
Packet - longblob
Timestamp - timestamp
如果我运行以下查询:
SELECT * FROM table WHERE TNode = 2;
并尝试使用以下方法获取 longblob 的大小:
while (reader.Read())
{
long l = reader.GetBytes(2,0,null,0,0);
}
我将收到以下错误:
GetBytes 只能在二进制或 guid 列上调用
其中,列索引 2 是。即使我按预期遍历所有列,我也会收到相同的错误。但是,如果我运行以下查询:
SELECT Packet, ID, Timestamp FROM table WHERE TNode = 2;
其次是:
while (reader.Read())
{
long l = reader.GetBytes(0, 0, null, 0, 0);
}
没问题。我能够得到 longblob 的长度,并用它做我需要做的事情。
关于为什么不允许我使用非零列索引的任何想法?
谢谢你。