sqldatareader以及输出到TXT格式的问题

问题描述

大神们,我之前用datatable存放commandsql语句,但是数据量大的话非常吃服务器内存。另外我有特定输出格式,需要每个字段用“|”分割,之前用datagridview.Rows.columns.count来定位每个格的数据,并在每格数据之后加"|",然后把每一行直接按行输出,然后下一行数据直接换行输出。for(inti=0;i<dt.Rows.Count;i++){for(intj=0;j<dt.Columns.Count;j++){sw.Write(dt.Rows[i][j].ToString().Trim()+"|");}sw.Write("rn");}但是使用sqldatareader就不好做了。就看到一个visiblefieldcountusing(StringWritersw=newStringWriter()){while(sdr.Read()){for(inti=0;i<sdr.VisibleFieldCount;i++){sw.Write(sdr[i].ToString());sw.Flush();}}}具体有办法做吗?另外还有个问题,我用Unicode编码输出到txt文件,Encoding.Unicode有几张表会出现ANSI码,打开txt文件会出现乱码,这几张表在TXT另存为的时候会显示格式为ANSI但是用UTF-8就不会了,是什么原因呢?Encodingutf8=Encoding.UTF8;byte[]s=utf8.GetBytes(sw.ToString());

解决方案

解决方案二:
求大神帮助啊啊啊啊
解决方案三:
是不是sqldatareader只能读取一行数据。
解决方案四:
如果不用datatable的话,因为datatable要是读取几千w数据几十G内存都得卡死。。
解决方案五:
datareader是一行一行读取,然后每行都有N列,VisibleFieldCount虽然跟我印象中名字略有差异,但这段是遍历数据列,其实跟你那段没区别,改成下面的就行for(inti=0;i<sdr.VisibleFieldCount;i++){sw.Write(sdr[i].ToString()+"|");}sw.Write("rn");

解决方案六:
一起读肯定慢分块
解决方案七:
引用4楼starfd的回复:

datareader是一行一行读取,然后每行都有N列,VisibleFieldCount虽然跟我印象中名字略有差异,但这段是遍历数据列,其实跟你那段没区别,改成下面的就行for(inti=0;i<sdr.VisibleFieldCount;i++){sw.Write(sdr[i].ToString()+"|");}sw.Write("rn");

求帮助,如何统计行数呢?我想dataGridView1.Rows[i].Cells[2].Value=统计表里的行数就是for(inti=0;i<sdr.VisibleFieldCount;i++){sw.Write(sdr[i].ToString()+"|");}之后的整行的行数。之前在datagridview里可以直接rows.count..现在不行了
解决方案八:
while(sdr.Read())]for循环之前再加个num++这不难吧……

时间: 2024-09-20 03:47:44

sqldatareader以及输出到TXT格式的问题的相关文章

c++文件输出-关于C++文件输出到.txt中的问题

问题描述 关于C++文件输出到.txt中的问题 #include using namespace std; class canlendar { private: int year,weekday,month; public: int firstday(int year); void printmonthday(int month); int monthday(int month); void printmonth(int month); }; int firstday(int year) { i

批处理:遍历输出指定后缀格式的文件名.bat

批处理:遍历输出指定后缀格式的文件名.bat 1 @echo off 2 type nul >C:\result.txt 3 for /r "d:\我的文档\桌面\交接\webservice\Webservice项目" %%a in (*.pdf) do ( 4 >>C:\result.txt echo %%~dpa%%~nxa 5 ) 自己新建一个文本文档,然后将上面的代码贴进去,之后将txt重命名为.bat后缀,双击bat脚本,即可在C盘的result.txt里面

Word文档批量转换成TXT格式的技巧

使用Word编辑文档的时候,不仅可以保存成Word格式,也可以保存为其它格式.但有的时候需要将大批的已经编辑完成的Word文档转换成文本格式或其他格式文档,怎么办?如果通过"另存为"将是一件十分费时费力的事情. 可能有人说了利用第三方工具软件吧,那是另一话题.在这里笔者要告诉大家的是:批量转换文档格式不求"人",完全可以借助Word本身自带的功能就可以完成批量转换文档格式的工作.为了叙述方便,专家以将Word文档格式批量转换成TXT文本格式为例来介绍其转换过程,具体

WPS文字将文档输出为图片格式方法

  伴随着网络技术的飞速发展和宽带网络的普及,互联网全方位.多角度地浸透进我们的生活,各式各样的网络论坛也如雨后春笋般不断涌献,成为宅男宅女们展示才华的舞台.特别是在ExcelHome论坛.扑奔PPT.WPS官方论坛等一些技术论坛上,各路高手分享优秀成果.交流使用心得,高质量的帖子异彩纷呈,吸引着大家的目光. 不过,发表在论坛里的文章,很容易被别人复制.转贴,一些作者为了保护版权,往往会把文章转换为图片格式发表(如图1). 文档输出为图片格式方法-wps文档输出为图片"> a 笔者发现,在

Word2010实现DOC与TXT格式的批量转换

word是我们目前个人电脑中使用最普遍的文字处理工具,但是在一些专业的排版软件中,却需要使用TXT格式进行导入.这样则经常需要将Word文档的DOC格式转换成TXT格式.为了提高工作效率,我们可以将要转换的文档一次完成,实现批量转换. 首先新建两个文件夹,可以分别命名为A.B;然后将要转换的Word文档全部保存到文件夹A中.做好这项工作之后就可以启动Word,依次打开"文件→新建→其他文档→转换向导"命令,打开"转换向导"窗口. 在在欢迎界面上单击"下一步

Word 2010实现DOC与TXT格式的批量转换

  word是我们目前个人电脑中使用最普遍的文字处理工具,但是在一些专业的排版软件中,却需要使用TXT格式进行导入.这样则经常需要将Word文档的DOC格式转换成TXT格式.为了提高工作效率,我们可以将要转换的文档一次完成,实现批量转换. 首先新建两个文件夹,可以分别命名为A.B;然后将要转换的Word文档全部保存到文件夹A中.做好这项工作之后就可以启动Word,依次打开"文件→新建→其他文档→转换向导"命令,打开"转换向导"窗口. 在在欢迎界面上单击"下

Win10写字板将文档保存成TXT格式操作

  对于不经常将电脑用于办公用途的用户来说,office软件估计并未安装,需要编辑文档时可以用自带的文本或写字板代替.如果是使用写字板编辑文档,如何将它保存为TXT格式呢?我们来看看Win10下如何操作. 操作方法 1.在写字板菜单栏上,点击"文件"标签. 2.点击"另存为"旁边的三角形. 3.点击"纯文本文档". 鉴于Win10系统相比Win7.WinXP有较大变化,不熟悉的用户可以了解下Win10打开写字板的方法.

c++-C++,huffman树编码的压缩软件输出到txt的问题

问题描述 C++,huffman树编码的压缩软件输出到txt的问题 string line; while(getline(ifsa2,line)) { for(int m=0;m<line.length();m++) { //cout<<line[m]; if(line[m]!=' ') { for(int i=0;i<leafs.size();i++) { if(leafs[i].data==line[m]) { break; } } for(int j=0;j<tree.

PHP中把数据库查询结果输出为json格式简单实例_php实例

include/conn.php为数据库链接文件,不会的网上搜索 <?php include './include/conn.php'; //数据库链接文件 $sql_notice = mysql_query('SELECT * FROM gg_notice where enable = "1" limit 0,10'); $notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC); print_r ($notice); ?>