我要把txt文件中的考勤记录导入数据库的考勤表,用C#怎么做。 txt 文件中内容如下: 0026137012 201104010

不好意思,txt文件中的内容就该是下面这样的:
0026137012 20110401073956 02 0 0
0008014474 20110401074024 02 0 0
0007403657 20110401074032 02 0 0
0008035967 20110401074037 02 0 0
0011558243 20110401074039 02 0 0
0007711580 20110401074044 02 0 0
0026104265 20110401074046 02 0 0
0007685052 20110401074047 02 0 0
0007072355 20110401074049 02 0 0

string[] dataArray = File.ReadAllLines("文件的路径");
foreach (string strValue in dataArray)
{
string[] tmpArray = strValue.Split(new char[] { ' ' });//把读的的值,比如(0026137012 20110401073956 02 0 0),按空格键拆分。
string strCmd = "insert into 表名 (列名1,列名2,...) values('" + tmpArray[0] + "','" + tmpArray[1] + "',')";//列名自行添加,后面的参数自行添加

//执行插入数据的命令代码,自行添加
}追问

问题是实际数据之间间隔不一的,百度这理硬是把间隔改为了1个空格。

追答

string[] dataArray = File.ReadAllLines("文件的路径");
foreach (string strValue in dataArray)
{
string[] tmpArray = strValue.Split(new char[] { ' ' });//把读的的值,比如(0026137012 20110401073956 02 0 0),按空格键拆分。

//提取 tmpArray 这个数组里面不为""的字符串
List valueList = new List();
for (int i = 0; i < tmpArray.Length; i++)
{
if (tmpArray[i] != "")
{
valueList.Add(tmpArray[i]);
}
}

string strCmd = "insert into 表名 (列名1,列名2,...) values('" + valueList[0] + "','" + valueList[1] + "',')";//列名自行添加,后面的参数自行添加

//执行插入数据的命令代码,自行添加
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-01
要先读出txt中的数据。然后对他进行按位数分割然后插入到数据库中就OK了。追问

能具体点吗?

追答

private void Form1_Load(object sender, EventArgs e)
{
this.rT1.Text = "";
FileStream fs1 = new FileStream("2.txt", FileMode.Open);

StreamReader sr = new StreamReader(fs1);
string str1 = sr.ReadToEnd();
this.rT1.Text = str1;
sr.Close();
fs1.Close();

}
然后对数据进行分割。你的几位代表一个字段的内容。然后插入数据库。

相似回答