c#读取txt数据写入数据库

misalang 2009-06-18 11:23:17
我要读取txt文件里的数据,第一行是字段名,后面每行都是一条记录,每个字段使用tab键隔开,每条记录是换行隔开,我要读取后存到数据库里,请问怎么实现。我觉得应该从第二行开始读写入数据库,那么怎么从第二行开始读取。我想要具体代码,谢谢。
例如:
name age height id sex
lkk 23 160 2009 girl
hgg 24 170 3009 boy
gtt 23 176 4009 girl
...
怎么才能读取数据写入数据库。第一行如果读取了怎么能直接建表,接着把第二行以后读取。
...全文
830 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2009-07-05
  • 打赏
  • 举报
回复
先把第一行读了,不处理,从第2行开始处理数据

用string.split的方法把第2行以后的数据分隔添进你的数据表里
juneyaya 2009-07-05
  • 打赏
  • 举报
回复
我也来学习的
bend2046 2009-06-19
  • 打赏
  • 举报
回复
mark.........
icefish2008 2009-06-19
  • 打赏
  • 举报
回复
C# 代码,
private void button2_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("a");
dt.Columns.Add("b");
dt.Columns.Add("c");
dt.Columns.Add("d");
string strFilePath = "D:\\database\\系统日志.txt";
FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8);

SqlConnection conn = DatabaseConnection.GetConnected();
conn.Open();

string strLine = sr.ReadLine();

while (strLine != null)
{
string[] strArray = new string[4];
strArray = strLine.Split('\t');
DataRow dr = dt.NewRow();
dr[0] = strArray[0];
dr[1] = strArray[1];
dr[2] = strArray[2];
dr[3] = strArray[3];
string sql = "insert into 你的表名 values('" + dr[0] + "','" + dr[1] + "','" + dr[2] + "','" + dr[3] + "')";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
dt.Rows.Add(dr);
strLine = sr.ReadLine();
}
sr.Close();
fs.Close();
conn.Close();
}
bw555 2009-06-19
  • 打赏
  • 举报
回复
大概写了下,没测试,按你的需求自己改下吧
  Public Function ss(ByVal Filename As String, ByVal iniSection As String) As Boolean
If Not File.Exists(Filename) Then
'MsgBox("文件 " & iniFile & " 未找到,请确认路径和文件名是否正确!")
Return False
End If
Dim iniRead As New StreamReader(Filename)
Dim iniStr As String = iniRead.ReadToEnd
Dim i As Integer
Dim cLine As Integer
Dim getValue As String = ""
Dim cLst
cLst = iniStr.Split(Chr(13))
cLine = UBound(cLst)
Dim sqltext As String = cLst(0)
sqltext = "create table " & "你的表名字" & "(" & sqltext.Replace(Chr(9), " varchar2,") & " varchar2)"
'varchar2为缺省的数据类型,有变化的自己调整
'执行sqltext中的语句,具体代码略

For i = 1 To cLine
sqltext = "insert into " & "你的表名字" & "(" & cLst(0).Replace(Chr(9), ",") & ") values ('" & cLst(i).Replace(Chr(9), "','") & "')"
'执行sqltext中的语句,具体代码略
Next
Return True
End Function
bw555 2009-06-19
  • 打赏
  • 举报
回复
这个应该不行,他可能是想根据txt的第一行创建表
事先不知道表有哪些字段
[Quote=引用 2 楼 icefish2008 的回复:]
数据库中应该先建立一张表,和txt里的字段先对应上啊.
[/Quote]
icefish2008 2009-06-19
  • 打赏
  • 举报
回复
数据库中应该先建立一张表,和txt里的字段先对应上啊.
bw555 2009-06-19
  • 打赏
  • 举报
回复
你的这些字段都建什么类型啊?怎么决定?
oneatree 2009-06-19
  • 打赏
  • 举报
回复
mark

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧