(c#)Excel与SqlServer间数据相互导入
在数据库编程中,常会遇到要把数据库表信息导入Excel中, 有时则是把Excel内容导入数据库中。在这里,将介绍一种比较方便快捷的方式,也是比较普遍的。其实,这方法你并不陌生。原理很简单,把数据库表或Excel内容读取到dataset类型的变量中,再逐条插入到你想要导入的地方。不管是Excel转SqlServer,还是SqlServer转Excel,也是适用的。
其实,Excel的也可以用sql语句来操作的。说到这里,你也大概知道怎样做吧!接下来,通过一个实例来慢慢讲解。(该实例下载地址)
首先,提供该实例的数据库和表:
数据库名为:MyDataBase
表名为: CutClassTable
表创建语句如下:
use MyDataBase
go
Create Table CutClassTable(
StudentID varchar(20) Primary key,
Name varchar(20) not null,
CutClassSum int default(0),
Cause varchar(200) default('未知')
)
该实例运行图:
一.Excel 导入到 SqlServer
大概步骤:
a.用sql语句中“select * from [Sheet1$]”语句获取 Excel内容,存放到dataset类型变量中。
b.用insert 语句把dataset内容插入到SqlServer里面。
源代码如下:
using System.Data.SqlClient; //用于SqlServer数据库操作
using System.Data.OleDb; //用于Excel数据库操作
#region Excel导入到Sqlserver
//指定的Excel文件名
private string strFileName;
//是否已经获取到Excel文件的路径
private bool hasFile;
/
相关文档:
SqlServer启动参数
1.Sqlservr.exe运行参数。
SqlServer的启动可以为Windows服务方式(默认),也可以以应用程序方式启动。下面介绍sqlservr.exe以应用程序方式启动时的参数问题。
sqlservr应用程序用法:
sqlservr[-sinstance_name][-c][-dmaster_path][-f]
[-eerror_log_path][-lmaster_log_path][-m]
[-n][-Ttrace ......
比如用一个类描述一张合同,而这个类实例化后其中的字段保存着合同的信息,如果现在要把这个类的实例发送到另一台机器、另一个窗体或是想保存这个类以便以后再取出来用(持久化对象),可以对这个类进行序列化(序列化实际上是一个信息流),传送或保存,用的时候再反序列化重新生成这个对象
为什么您想要使用序列化 ......
sqlserver中:
1 /*
2 1 * Description:对数据表进行行列转换
3 2 * Author:llf
4 3 * 调用说明:exec SP_RowChangeCol '学生成绩表','姓名','课程','分数','desc',0,0,'where 年级=''一年级'''
& ......
在sqlserver2005下使用下面语句
WITH t AS (
SELECT ROW_NUMBER() OVER(ORDER BY id DESC) as row_number, id,ss
&nb ......
//创建DBhelper数据库链接文件
private static string sqlcon = "server=.;database=myschool;uid=sa;pwd=sa";
public static SqlConnection connection = new SqlConnection(sqlcon ......