日期:2014-05-19  浏览次数:20737 次

如何把DataSet中的内容写进文本文件
如何把DataSet中的内容写进文本文件?

------解决方案--------------------
DataSet ds = 你的数据集;
FileStream fs = new FileStream(@ "D:\a.txt ",System.IO.FileMode.Append);
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs);
for(int i=0;i <ds.Tables[0].Rows.Count;i++)
{
for(int j=0;j <ds.Tables[0].Columns.Count;j++)
{
sw.Write(ds.Tables[0].Rows[i][j].ToString()+ "\t ");
}
sw.WriteLine( "---------------------------------------- ");
}
sw.Close();
fs.Close();
------解决方案--------------------
//定义一个StreamWriter StreamWriter rowStreamWriter;
//其中load(servername,db,sql,listBox1.Text.ToString())方法返回一个DataSet
//outDS表示一个DataSet, listBox1.Text.ToString())是outDS中的表的名字
//openMenuItem_Click(sender,e)是打开文件的事件的button事件
//openFileDialog1是一个openFileDialog
//openFileDialog1的filter属性为txt|*.txt
try
{
//写入文件(txt)
if(rowStreamWriter != null)//判断文件是否打开
{
DataSet outDS=new DataSet();
outDS=load(servername,db,sql,listBox1.Text.ToString());
for(int i=0;i <outDS.Tables[listBox1.Text.ToString()].Rows.Count;i++)
//根据行数循环
{

rowStreamWriter.WriteLine( " <ROW> ");
for(int j=0;j <outDS.Tables[listBox1.Text.ToString()].Columns.Count;j++)
{
rowStreamWriter.Write(outDS.Tables[listBox1.Text.ToString()].Rows[i][j].ToString()+ " ");
}
rowStreamWriter.WriteLine( " ");
}

MessageBox.Show( "成功!!! ");

}
else
{
MessageBox.Show( "必须先选择保存的文本!!! ", "保存的文件没有打开 ",MessageBoxButtons.OK,MessageBoxIcon.Information);
openMenuItem_Click(sender,e);//打开文件
}
}
catch
{
MessageBox.Show( "写入错误!!!选择需要再次操作的文件!! ");
}
finally
{
rowStreamWriter.Close();//关闭rowStreamWriter写入文件
}


//openMenuItem_Click事件的
//打开保存的文件
private void openMenuItem_Click(object sender, System.EventArgs e)
{
//打开文件
DialogResult responseDialogResult;
//设置打开的初始目录
openFileDialog1.InitialDirectory=Application.StartupPath;
//重载一次
responseDialogResult=openFileDialog1.ShowDialog();

if(responseDialogResult != DialogResult.Cancel)
{ //如果用户没点击Cancel
//打开输出文件
rowStreamWriter = new StreamWriter(openFileDialog1.FileName);
}
}

------解决方案--------------------
SqlConnection Connection = new SqlConnection( " ");
SqlDataAdapter SqlData = new SqlDataAdapter( "select * from Table ", Connection);
DataSet ds = new DataSet();
SqlData.Fill(ds);
StreamWriter sw = new StreamWriter( "Report.txt ");

String LineStr= " ";

for(int i=0;i <ds.Tables[0].Rows.Count;i++)
{
for(int j=0;j <ds.Tables[0].Columns.Count;j++)
{
LineStr+=ds.Tables[0].Rows[i][j].TosString()+ "\t ";
}
sw.WriteLine(LineStr);
LineStr= " ";
}
sw.Close();