用C#语言编程将TXT文件里的数据读取保存(导入)到SQL数据库表中

2024-11-01 11:34:11
推荐回答(4个)
回答1:

C#编程还分asp.net跟winform呢。。给你个简单的winform的实例代码
首先肯定是一个按钮
OleDbConnection conn = new OleDbConnection("sql连接字符串");
OleDbTransaction tran = null;
try
{
//把TXT文本转换为datatable
string sql = string.Format("select * from [Text;Database={0}].{1}", "这个是你的txt文件路径", “收盘报表.txt");
DataTable dt = new DataTable();
OleDbDataAdapter sda = new OleDbDataAdapter(sql, conn);
sda.Fill(dt);
if (dt == null)
{
MessageBox.Show("您导入的文档名字有误!请去掉空格或特殊字符!");
return;
}

//去掉空行
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString().Trim() == string.Empty)
{
dt.Rows.Remove(dt.Rows[i--]);
}
}
//事务开始
tran = conn.BeginTransaction();
OleDbCommand cmd = conn.CreateCommand();
cmd.Transaction = tran;
for (int i = 0; i < dt.Rows.Count; i++)
{
string[] str=dt.Rows[i][0].ToString().split(' ');//用空格区分你的三列
string sql_insert = string.Format("insert into TABLE1 (“字段1”,"字段2","字段3") values ('{0}','{1}','{2}')", str[0],str[1].str[2]);
cmd.CommandText = sql_insert;
cmd.ExecuteNonQuery();
}
tran.Commit();
}
MessageBox.Show("导入成功!");
}
catch
{
MessageBox.Show("导入失败!");
tran.Rollback();
}
finally
{
conn.Dispose();
}
如果是数据库是sqlserver,只要把OleDb换成Sql就可以了。直接编译通过不可能的,自己看着办吧

回答2:

ResultSet rs = Statemnet.excuteQuery();
List list1 = new ArrayList();
List list2 = new ArrayList();

while(rs.hasnext()){
list1.add(rs.next.getString(0));
list2.add(rs.next.getString(1));
}
然后可以再遍历这些集合输出出去。
多看看rs的api或者datagridview的一些个属性设置,甚至不用写代码,就是一些展示设置参数的问题。

回答3:

path = @"D:/test.txt";//读取文件txt
using (FileStream fs = new FileStream(path, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
{
string sLine = sr.ReadLine();
if (sLine.Length < 1)
{
continue;
}
string[] sRecordKbn = sLine.split(' ');//过滤空格
forach(string s in sRecordKbn )
{
//s是取出的数据,可以插入数据库
}
}

回答4:

这个不是问题。建议好好回家做作业。