private void button1_Click(object sender, EventArgs e)
{
//建立一个打开文件的对话框
using (OpenFileDialog dlgText = new OpenFileDialog())
{
dlgText.Filter = "文本文件|*.txt";
if (dlgText.ShowDialog() == DialogResult.OK)
{
//新建一个datatable用于保存读入的数据
DataTable dt = new DataTable();
//给datatable添加三个列
dt.Columns.Add("帐号", typeof(String));
dt.Columns.Add("密码", typeof(String));
dt.Columns.Add("备注", typeof(String));
//读入文件
using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default))
{
//循环读取所有行
while (!reader.EndOfStream)
{
//将每行数据,用-分割成3段
string[] data = reader.ReadLine().Replace("----", "-").Split('-');
//新建一行,并将读出的数据分段,分别存入3个对应的列中
DataRow dr = dt.NewRow();
dr[0] = data[0];
dr[1] = data[1];
dr[2] = data[2];
//将这行数据加入到datatable中
dt.Rows.Add(dr);
}
}
//将datatable绑定到datagridview上显示结果
this.dataGridView1.DataSource = dt;
}
}
}
新建一个WINFORM窗体。添加一个BUTTON,一个dataGridView.然后拷贝如下代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
StreamReader read = new StreamReader(@"d:\a.txt", Encoding.Default, false);
//创建一个DATATABLE
DataTable dt = new DataTable();
dt.Columns.Add("网址");
dt.Columns.Add("用户");
dt.Columns.Add("说明");
//循环读取行数,一行一行的读
string line = "";
while ((line = read.ReadLine()) != null)
{
string[] str = line.Split(' '); //使用空格分隔的内容
DataRow dr = dt.NewRow();
// 也可以这样写,但是如果文本后面有空格,会出错 dr.ItemArray =str ;
dr[0] = str[0];
dr[1] = str[1];
dr[2] = str[2];
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
}
}
}
经测试通过
你可以这样做,用字符串数组存储文本框的内容,字符数组c#提供了现成的方法,可以分隔字符(具体哪个方法忘了,哈哈,你可以找找),以你的提问来看的话,用“-”作为分割符号,分割数据源,然后用ADO.NET的方法插入数据库中就可以了哈。
回答不在得分,但愿问题解决。
希望和广大程序人员技术交流~~~