网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET实现自适应图片大小的弹出.
.ASP.NET常用的26个优化性能方法.
.一段获得网卡地址的代码,可以用来.
.url传递中文的解决方案.
.ASP.NET2.0中使用数据源控件之基.
..NET编程规范.
.自定义ViewState的保存方式.
.bcp将本地txt文本导入远程sqlser.
.浅谈在ASP.NET中数据有效性校验的.
.解决文件下载弹出窗体被拦截 .
.使用HttpWebRequest向网站模拟上.
.调试ASP.NET应用程序的方法和技巧.
.根据自定义字符串来缓存(部分)页.
.Asp.net2.0:如何使用ObjectData.
.asp.net错误处理封装.
.实现在页面中单击按钮关闭页面.
.如何用在ASP.NET中写入事件日志.
.ASP.NET入门随想之抽象的力量.
.在asp.net中使用session常见问题.
.追踪ASP.NET代码里的bug.

关于EXCEL数据上传到SQL SERVER中的简单方法!

发表日期:2007-5-16


EXCEL数据上传到SQL SERVER中的方法需要注意到三点!


注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.

做法: 在ASP.NET环境中,添加一个FileUpload上传控件

后台代码的E.X:
                  if (FileUpload1.HasFile)     //如果用户确实选择了上传控件的浏览按钮,浏览文件成功.
                  {
                   this.FileUpload1.SaveAs("E:\\Temp\\" + FileUpload1.FileName);  //保存到服务器的目录,需要根据服务器具体情况修改FileUpload1.FileName会自动获取上传文件名.

                  }
                 //OK成功上传到服务器的E:\Temp目录下(自己写的时候注意错误处理,和异常处理啊,很重要的).

注意点二: SQL SERVER 服务器中的表的结构(字段)要与要上传来的EXCEL格式顺序等相同.

保存到服务器的关键代码如下E.X(SQL 语句):

insert   into   EmployeesCheck   select   *   from    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'    ,'Excel 8.0;hdr=yes;database=E:\\Temp\\" + FileUpload1.FileName + "',Teenie$)


//  EmployeesCheck  是我在SQL SERVER 中的数据接受表,hdr=yes 表示EXCEL内容第一行作为内容字段而不是字段列
   Teenie是我EXCEL的当前页的名称(注意这个一定要写对,否则的话会出错,另外要在名字后面家$这个东西)
  
解除SQL阻止:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
因为SQL2005默认是没有开启'Ad Hoc Distributed Queries' 组件,开启方法如下

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

哈哈!就说到这些把 这个比较简单 能对付一般的应用了,因为一般用EXCEL数据的都是公司内部数据处理,所以完全够应付了,
但是如果是商业化或者专业的网站让任何普通用户上传EXCEL的话就不大合适了,毕竟你不能强烈要求所有用户EXCEL的表的
数据页的名字都叫Teenie 呵呵,网上还有一种很麻烦的SQL语句(都是参数的形式)可以解决这个问题,呵呵 大家无妨去参考一下!

【处理这类问题,重点的不是上传和实现技术,而是错误处理,任何失误都会导致数据遭到XX呵呵】

上一篇:如何实现Asp与Asp.Net共享Session 人气:4133
下一篇:Asp.net生成htm静态文件的两种途径 人气:3920
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐