将txt文件导入SQL Server数据库的sql代码
- 格式:pdf
- 大小:112.50 KB
- 文档页数:5
strSql += myDs.Tables[0].Rows[i].ItemArray[0]. ToString() + ", '";
strSql += myDs.Tables[0].Rows[i].ItemArray[1]. ToString() + "')";
bo.txtInsert FROM '"+fPath+"' WITH (FIELDTERMINATOR = ',',ROWTERMINA TOR= '\n')",con);
//其中的 FIELDTERMINATOR=','指明字段间所使用的分隔 符为逗号
//其中 ROWTERMINATOR= '\n'指明记录间所使用的分隔符 为回车
1,tom 2,jack 3,jhon ...... 实现导入的 C#代码如下: protected System.Web.UI.HtmlControls.HtmlInputFile fName;
protected System.Web.UI.WebControls.Button BtnInsert; //上面两个控件自己添加
将 txt 文件导入 sql server 数据库的 sql 代码
导入 sql2000 的代码: BULK INSERT 表名 FROM 'F:\你的文本文件.txt' WITH ( FIELDTERMINATOR =' 以什么符号分割数据', ROWTERMINATOR= '以什么符号加\n 结尾')--\n 是回车的意思, 就是回车前面是什么符号,如果没符号直接单引号\n 例如:BULK INSERT bb FROM 'F:\2008-02-18.txt' WITH ( FIELDTERMINATOR =',', ROWTERMINATOR= ',\n') bb 是表名,f 盘中的 F:\2008-02-18.txt 文件, FIELDTERMINATOR =','每个数据是 以逗号分隔的,ROWTERMINATOR= ',\n'每行数据以逗号回车结尾。
代码
private void BtnInsert_Click(object sender, System.EventArgs e) { string fPath=this.fName.PostedFile.FileName;//获得要导
入的文本文件 string extName=fPath.Substring(stIndexOf(".")+1);
excelCmd.ExecuteNonQuery(); mit();//提交事务 Response.Write("<script language=javascript& gt;alert('数据导入成 功!')</script>"); } catch (SqlException err) { myTran.Rollback(); //出错回滚事务操作 //以下三行是去掉数据库出错信息中的非法字符单引号、回车和换行符,否则在使用时 j avascript 代码将有语法错误 //因为 js 的编码和 c#的编码不同 string errString=err.Message.Replace("'"," "); errString=errString.Replace(Convert.ToChar(13).ToString(),""); errString=errString.Replace(Convert.ToChar(10).ToString(),""); //显示出错信息框 Response.Write("<script language=javascript& gt;alert('导入数据库 时出错!详细信息:"+errString+"')</script>"); } con.Close(); }
t * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATA BASE="+fPath+"',Sheet1$)",con);
SqlTransaction myTran=con.BeginTransaction();//开始一个事务操作 excelCmd.Transaction=myTran; try {
//获得文件的扩展名 SqlConnection con=new SqlConnection("server=.;database=pu
bs;uid=sa;pwd=;");//数据库连接对象 con.Open(); try
{ SqlCommand com=new SqlCommand("BULK INSERT pubs.d
件 string extName=fPath.Substring(stIndexOf(".")+1);//获得文件
的扩展名 SqlConnection con=new SqlConnection("server=.;database=pubs;uid=sa;
pwd=;");//数据库连接对象 con.Open(); //注意下面的连接字符串,是它起到了导入的作用 SqlCommand excelCmd=new SqlCommand("insert into txtInsert selec
com.ExecuteNonQuery(); Response.Write("<script language=javascript& gt;a lert('数据导入成功!')</script>"); } catch (SqlException SQLexc) { Response.Write("导入数据库时出错:" + SQLexc.ToStrin g()); } con.Close(); }
myCmd=new OleDbCommand(strSql,conn); try {
myCmd.ExecuteNonQuery ();
Response.Write("<script language=javascri pt& gt;alert('数据导入成功!')</script>");
} catch (OleDbException err) {
SqlConnection con=new SqlConnection("server=.;data base=pubs;uid=sa;pwd=;");//数据库连接对象
con.Open(); string mystring="Provider = Microsoft.Jet.OLEDB.4. 0 ; Data Source = '"+fPath+"';Extended Properties=Excel 8.0"; OleDbConnection cnnxls = new OleDbConnection (mystrin g); OleDbDataAdapter myDa =new OleDbDataAdapter("selec t * from [Sheet1$]",cnnxls); DataSet myDs =new DataSet(); myDa.Fill(myDs); if(myDs.Tables[0].Rows.Count > 0) {
使用 BULK INSERT 用法如下:
stu.txt 结构 1,Jim 2,Kate 3,Tom ... BULK INSERT dbo.TABLE1 FROM 'd:\stu.txt' WITH (
FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ) 查看 table1 里的数据
excel 文件的导入中介绍:
3.excel 文件的导入
在 c 盘里建立一个 stu.xls 文件,在 sheet1 工作表中有两列数据如下:
编号 姓名
1
tom
2
jack
3
john
......
将 txtInsert 数据库表中的 id 字段设置为主键。实现的 C#代码如下:
代码
private void BtnInsert_Click(object sender, System.EventArgs e) { string fPath=this.fName.PostedFile.FileName;//获得要导入的文本文
tring());
Response.Write("导入数据库时出错:" +err.ToS
break; }ect * from table1 就 ok 了。
在 C#-web 项目中将 txt 文件和 excel 文件导入 SQL2000 数据库。 1.数据库准备 在 SQL2000 数据库的实例数据库 pubs 中建立一个数据表 txtInsert,字段很简 单:id, name 两个。 2.txt 文本文件导入 对于数据文件导入与导出 SQL2000 提供了 BULK INSERT 和 BCP 语句,在这里可以使用 BULK INSERT 命令实现。假设在 c 盘上有一个文本文件 stu.txt 内容为: