用C#语言编程将TXT文件里的数据读取保存(导入)到SQL数据库表中
最好具体能通过编译运行的。百度谷歌不到TXT文件文件里有五千多行文件名:收盘报表.txt第一列股票代码第二列日期第三列价格SQL新建的空表数据库名hello表名TABLE...
最好具体能通过编译运行的。百度谷歌不到
TXT 文件
文件里有五千多行
文件名: 收盘报表.txt
第一列 股票代码
第二列 日期
第三列 价格
SQL新建的空表
数据库名 hello
表名 TABLE1
导入到数据库后,打开数据库的表能看到数据已经导入到表里 展开
TXT 文件
文件里有五千多行
文件名: 收盘报表.txt
第一列 股票代码
第二列 日期
第三列 价格
SQL新建的空表
数据库名 hello
表名 TABLE1
导入到数据库后,打开数据库的表能看到数据已经导入到表里 展开
4个回答
展开全部
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就可以了。直接编译通过不可能的,自己看着办吧
首先肯定是一个按钮
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就可以了。直接编译通过不可能的,自己看着办吧
展开全部
ResultSet rs = Statemnet.excuteQuery();
List list1 = new ArrayList<String>();
List list2 = new ArrayList<String>();
while(rs.hasnext()){
list1.add(rs.next.getString(0));
list2.add(rs.next.getString(1));
}
然后可以再遍历这些集合输出出去。
多看看rs的api或者datagridview的一些个属性设置,甚至不用写代码,就是一些展示设置参数的问题。
List list1 = new ArrayList<String>();
List list2 = new ArrayList<String>();
while(rs.hasnext()){
list1.add(rs.next.getString(0));
list2.add(rs.next.getString(1));
}
然后可以再遍历这些集合输出出去。
多看看rs的api或者datagridview的一些个属性设置,甚至不用写代码,就是一些展示设置参数的问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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是取出的数据,可以插入数据库
}
}
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是取出的数据,可以插入数据库
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-10-18
展开全部
这个不是问题。建议好好回家做作业。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询