关于C#读取TXT内容保存到SQL数据库中的问题,高手进?

关于C#读取TXT内容保存到SQL数据库中的问题,高手进?,第1张

string []ay=FileReadAllLines(@"XXXtxt",EncodingDefault);//读取TXT中的每一行
for (int i = 0; i < ayLength; i++)//将每一行中的||去掉
{
string[] ax = ay[i]Split(new string[] { "||" }, StringSplitOptionsNone);

}
数组ax中的值就是TXT中的除了“||”剩下的值
然后就可以写SQL语句了
string str = "insert into XXX()values();

没办法做到这种东西,除非你能写个AI的程序,不过用大量经历去推倒AI判别树我建议你还不如用xml来做文件内容保持的载体的,这样可以方便的用sax或者dom解析来自动生成sql
希望你能理解我要表达的意思
首先你把你那个没有格式的破txt删掉,用良构的xml来代替给你个提示可以这样写
<内容>
<序号>1</序号>
<条码>10011</条码>
<数量>12</数量>
</内容>
具体格式自己设计吧,同时希望你听说过dom解析或者sax解析,无论用什么语言都有方法讲xml读取成一棵树的形式,然后在对这棵树来 *** 作,这样是比较实际的做法虽然要额外的设计xml格式
如果你一意孤行还是要用txt来做只能用readLine这样的方法函数读取一行然后用string的去掉空格方法去掉空格,不过1 10011 , 12 肯定不行要加上特殊符号比如#&等,再用string的split方法按照特殊符号分割字符串,得到的string数组总没个元素都是一个字段了,这样做的特点就是舍近求远,杀鸡取卵,不鼓励

打开数据库,找到需要导出的表,右击该表,选择所有任务,选择导出文件,点下一步,再点下一步,到导出文件选择,选择文本文件,写入文件名即可。
另外一种方法是,打开数据表之后,按shift选中需要导出的数据,右击,选择复制,然后再打开一个文本文件,选择粘贴就可以

1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将3个自由表"教师表"、"课程表"和"学院表"添加到该数据库中。
2.为"课程表"和"教师表"分别建立主索引和普通索引,字段名和索引名均为"课程号",并为两个表建立一对多的联系。
3.使用SQL语句查询"教师表"中工资大于等于4500的教师的全部信息,
将查询结果按职工号升序排列,
查询结果存储到文本文件onetxt中
,SQL语句存储于文件twoprg中。

C#编程还分aspnet跟winform呢。。给你个简单的winform的实例代码
首先肯定是一个按钮
OleDbConnection conn = new OleDbConnection("sql连接字符串");
OleDbTransaction tran = null;
try
{
//把TXT文本转换为datatable
string sql = stringFormat("select from [Text;Database={0}]{1}", "这个是你的txt文件路径", “收盘报表txt");
DataTable dt = new DataTable();
OleDbDataAdapter sda = new OleDbDataAdapter(sql, conn);
sdaFill(dt);
if (dt == null)
{
MessageBoxShow("您导入的文档名字有误!请去掉空格或特殊字符!");
return;
}
//去掉空行
for (int i = 0; i < dtRowsCount; i++)
{
if (dtRows[i][0]ToString()Trim() == stringEmpty)
{
dtRowsRemove(dtRows[i--]);
}
}
//事务开始
tran = connBeginTransaction();
OleDbCommand cmd = connCreateCommand();
cmdTransaction = tran;
for (int i = 0; i < dtRowsCount; i++)
{
string[] str=dtRows[i][0]ToString()split(' ');//用空格区分你的三列
string sql_insert = stringFormat("insert into TABLE1 (“字段1”,"字段2","字段3") values ('{0}','{1}','{2}')", str[0],str[1]str[2]);
cmdCommandText = sql_insert;
cmdExecuteNonQuery();
}
tranCommit();
}
MessageBoxShow("导入成功!");
}
catch
{
MessageBoxShow("导入失败!");
tranRollback();
}
finally
{
connDispose();
}
如果是数据库是sqlserver,只要把OleDb换成Sql就可以了。直接编译通过不可能的,自己看着办吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13394641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存