易截截图软件、单文件、免安装、纯绿色、仅160KB

从Excel导入SQL SERVER数据库


这次项目是一个经费管理系统,涉及的数据库记录数超出了以前做过的,每次最少都要从EXCEL导入数据库几千上万条数据,第一次使用一般的方法,执行SQL语句,运用for循环一条一条的插入,重复数据也使用程序判断,后来交付的时候出问题了,一次超过一定条数的记录,直接失败,这明显是效率的问题。从网络上找了一下,发现了一个从来没用过的类SqlBulkCopy   这里有详细的说明,我就不说了http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlbulkcopy(VS.80).aspx
 
接着我使用这个方法导入数据
 
首先从EXCEL读取数据 到dataset 
public DataSet GetXlsContent(string SheetName, string FileName)
{
            tbDataBaseModel tbdbModel = new tbDataBaseModel();
            DataSet ds = new DataSet();
            //string Path = File.Replace(@"\\", @"\");
            //string fromFile = FileName.Substring(FileName.LastIndexOf('\\') + 1);
            try
            {
                string ExcelCmd = "";
                string olestr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FileName + ";" + "Extended Properties=Excel 8.0;";
                OleDbConnection ODC = new OleDbConnection(olestr);
                ODC.Open();
                OleDbDataAdapter odda = null;
               


相关文档:

[SQL]SQL语句大全(分享)

--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DRO ......

简单但有用的SQL脚本

行列转换
create table test(id int,name varchar(20),quarter int,profile int)
insert into test values(1,'a',1,1000)
insert into test values(1,'a',2,2000)
insert into test values(1,'a',3,4000)
insert into test values(1,'a',4,5000)
insert into test values(2,'b',1,3000)
insert into test values(2, ......

SQL临时表

临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。
临时表有两种类型:
本地临时表
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除 ......

SQL分页语句

有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活。先看看单条 SQL 语句的分页 SQL 吧。
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from tab ......

[记录]在命令行中启动 SQL SERVER

启动 MS SQL SERVER (2000 -2008都适用):
cmd>net start mssqlserver
启动 非缺省实例:
cmd>net start mssql$[instance name]
注:命令行需要有Administrator权限。
停止SQLSERVER 服务器:
cmd>net stop mssqlserver
cmd>net stop mssql$[instance name] ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号