如何把.txt里的数据读到数据库的表里
时间:2011-12-27
来源:互联网
作者: skyxuyan 发布时间: 2011-12-27
HDR=NO 的时候,第一行被认为是数据
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Text;HDR=NO;DATABASE=C:\' --c:\是目录
,Surveys#txt)--aa#txt是文本文件名aa.txt
作者: SQL77 发布时间: 2011-12-27
重要的一点是,你要让你的txt文本里面的数据有规律可循
作者: linagxiaojing 发布时间: 2011-12-27
/** 导入文本文件 */ EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword' /** 导出文本文件 */ EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword' 或 EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword' /**导出到TXT文本,用逗号分开*/ exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password' BULK INSERT 库名..表名 FROM 'c:\test.txt' WITH ( FIELDTERMINATOR = ';', ROWTERMINATOR = '\n' )
作者: fredrickhu 发布时间: 2011-12-27
SQL code
/** 导入文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'
mark
作者: ju523756055 发布时间: 2011-12-27
SQL code
/** 导入文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'
/** 导出文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.tx……
有没有程序实现的啊
大家看下 这段代码哪错了
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection ("server=localhost;database=Chartimages;uid=sa;pwd=1234");
SqlTransaction tran = null;
try
{
//把TXT文本转换为datatable
string sql = string.Format("select * from [Text;Database={0}].{1}", "D:\\shuju.txt", "shuju.txt");
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter (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();
SqlCommand 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 shuju (data1,data2) values ('{0}','{1}')", str[0],str[1]);
cmd.CommandText = sql_insert;
cmd.ExecuteNonQuery();
}
tran.Commit();
MessageBox.Show("导入成功!");
}
catch
{
MessageBox.Show("导入失败!");
//tran.Rollback();
}
finally
{
conn.Dispose();
}
}
作者: skyxuyan 发布时间: 2011-12-27
2.把txt数据读取到缓存中,C#中可以利用OLEDBAdapter 对象。然后对象.upata(缓存表)到数据库,前提是要把缓存表的数据格式好,数据表也要存在
作者: ly576107712 发布时间: 2011-12-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28