C#数据库读取数据 第一行读不出来

while (ODR.Read()) //ODR是ExecuteReader()的返回值并且已经正确读取到了数据

{
StreamWriter sw = new StreamWriter("C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\新建文本文档 (3).txt", false, Encoding.GetEncoding("GB2312"));
for (int i = 0; i < ODR.FieldCount; i++)
{
sw.Write(ODR.GetValue(i));
}
sw.Writeline();

sw.Close();
}
以上代码本来应该读到两行数据,但是只读到了第二行数据,第一行消失了.尝试将while改成do while后报错:{"没有数据可用于行或列。"}

DataReader是逐行读取的,直到读取不到数据就跳出while(.Read())
也就是说每读取一行数据,就执行一次while里代码----就重新定义一个流对象,进行覆盖了。原先的txt里内容就被覆盖了。
你把false参数改成true。

温馨提示:答案为网友推荐,仅供参考
相似回答