Ⅰ c#绐椾綋璁捐′腑鎬庢牱璁剧疆鎴愬備笅褰㈠紡锛熶娇鐢ㄤ粈涔堟帶浠讹紵鎬庢牱璋冪敤鏁版嵁搴撶殑鏁版嵁杩涜屽~鍏咃紵
棣栧厛鏈涓嬮潰鐨凢rmMain_Load(...)鏄杞藉叆绐椾綋鏃剁殑鍒濆嬪寲
鍏坣ew涓涓猵ublicclass锛堬級瀵硅薄
鎺ヤ笅鏉ヨ皟鐢ㄦゅ硅薄鐨凣etDataSet()鏂规硶
鏉ョ湅GetDataSet()鏂规硶
鏂板缓涓涓狣ataSet锛岀敤鏉ュ瓨鏀句粠鏁版嵁搴撹幏寰楃殑璁板綍锛孌ataset鍙浠ュ湪鍏抽棴鏁版嵁搴撹繛鎺ュ悗浣跨敤锛
Sqldataadapter,浠庡悕瀛椾笂鐪嬮傞厤鍣ㄧ殑鎰忚瘑锛岀被鏄鎴戜滑鐢ㄧ殑绗旇版湰鐨勪氦娴佺數閫傞厤鍣锛屽厖褰撲竴涓涓闂磋掕壊锛岃诲彇鏁版嵁搴撲腑鐨勬暟鎹杩涜屼竴浜涘勭悊锛屾妸瀹冨彲浠ュ瓨鍏ュ埌dataset涓锛宒a.fill()鏂规硶灏辨槸鎶婃暟鎹濉鍏呭埌dataset涓锛屽悗闈㈢殑鏄寮傚父澶勭悊锛岀劧鍚庡叧闂蹇呰佺殑杩炴帴锛屾妸寰楀埌鐨刣ataset鏁版嵁杩斿洖銆
涓婇潰鐨刧etDataRow()鏂规硶璺焔etdataset宸涓嶅氫粬鍙鏄杩斿洖dataset涓鐨勭涓涓琛ㄦ牸鐨勭涓琛屾暟鎹锛宒ataset涓鐨勬暟鎹閮芥槸浠ラ泦鐨勫舰寮忓瓨鍦ㄧ殑锛屽彲浠ョ湅鎴愯〃銆
鍐嶅洖鍒發oad()鍑芥暟锛屽垽鏂璬ataset涓绗涓涓缁撴灉闆嗙殑琛屾暟鏄鍚﹀ぇ浜0锛屼篃灏辩浉褰撲簬閲岄潰鏈夋病鏈夋暟鎹锛屾湁鐨勮瘽鎶婂畠鏄剧ず鍒癲atagridview涓
涓闂磋繕鏈変竴涓狤xecuteSQL()鏂规硶锛屾柊寤轰竴涓杩炴帴锛屾墦寮锛屾墽琛孲qlcommand锛
鐢 cmd.ExecuteNonQuery();浣嗘槸浣犲啓鐨剆ql鍛戒护寮弒elect锛岃繑鍥炵粨鏋滅殑锛岃佺敤SqlDataReader read=cmd.ExecuteReader();
鐒跺悗鏍规嵁sqldatareader灏卞彲浠ヨ诲彇閲岄潰鐨勪俊鎭锛岃繖璺熶笂闈㈢殑閲囩敤dataset鏄鍙︿竴绉嶆柟娉曪紝鏍规嵁浣犵殑闇瑕侀夋嫨銆
鑷充簬鏍规嵁杩炴帴瀛楃︿覆杩炴帴鏁版嵁搴撶殑鍘熺悊锛岃繖涓鏄椹卞姩绋嬪簭鐨勫伐浣滐紝鎴戜滑鏃犳硶鐭ラ亾锛屼竴绉嶆妧鏈锛屽井杞涓嶄細鍛婅瘔浣犵殑銆
鑷充簬淇鏀规洿鏂帮紝涓绉嶆柟娉曠洿鎺ヤ娇鐢╱pdate鎴栧垯delete鐨剆ql璇鍙ワ紝鐒跺悗鎵ц孍xecuteNonQuery()鎴栧垯鐩稿簲鐨勬柟娉曪紝杩樻湁涓绉嶅氨鏄鐢╠ataset锛岄栧厛璇诲叆涓浜涙暟鎹锛屽舰鎴愪竴寮犫滆〃 鈥濊板綍锛屼綘鍙浠ョ洿鎺ユ妸瀹冪湅鎴愭槸浜岀淮鏁扮粍锛屾妸瑕佹敼鐨勬暟鎹璧嬬粰n琛宮鍒楃殑鍗曞厓鏍硷紝濡俿et.table[0].rows[n][m]="xxx";璧嬪煎畬鍚庤繕瑕佹墽琛宻qlDataadApter瀹炰緥鐨剈pdate锛堬級鏂规硶锛
锛侊紒锛侊紒娉ㄦ剰鍦ㄥ仛杩欎簺涔嬪墠杩樿佹柊寤轰竴涓猄qlCommandBuilder绫荤殑瀹炰緥
濡係qlCommandBuilder build=new SqlCommandBuilder(adapter)//浠SqlDataAdapter鐨勫疄渚嬩綔涓哄弬鏁帮紝杩欐牱鍩烘湰鐨勬洿鏂板垹鍘诲氨鎼炲畾浜嗭紝甯屾湜瀵逛綘鏈夋墍甯鍔╋紝鎴戜篃姝e湪瀛︿範褰撲腑...
Ⅱ sqlserver导数据库有几种方法
1. SQL Server导入导出向导,这种方式是最方便的.
导入向导,微软提供了多种数据源驱动,包括SQL Server Native Cliant, OLE DB For Oracle,Flat File Source,Access,Excel,XML等,基本上可以满足系统开发的需求.
同样导出向导也有同样多的目的源驱动,可以把数据导入到不同的目的源.
对数据库管理人员来说这种方式简单容易操作,导入时SQL Server也会帮你建立相同结构的Table.
2. 用.NET的代码实现(比如有一个txt或是excel的档案,到读取到DB中)
2.1 最为常见的就是循环读取txt的内容,然后一条一条的塞入到Table中.这里不再赘述.
2.2 集合整体读取,使用OLEDB驱动.
代码如下:
代码
string strOLEDBConnect = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1\;Extended Properties='text;HDR=Yes;FMT=Delimited'";
OleDbConnection conn = new OleDbConnection(strOLEDBConnect);
conn.Open();
SQLstmt = "select * from 1.txt";//读取.txt中的数据
DataTable dt=new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(SQLstmt, conn);
da.Fill(dt);//在DataSet的指定范围中添加或刷新行以匹配使用DataSet、DataTable 和IDataReader 名称的数据源中的行。
if(dt.Rows.Count>0)
foreach(DataRow dr in dt.Rows)
{
SQLstmt = "insert into MyTable values('" + dr..."
3.BCP,可以用作大容量的数据导入导出,也可以配合来使用.
语法:
代码
bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
{in | out | queryout | format} data_file
[-mmax_errors] [-fformat_file] [-x] [-eerr_file]
[-Ffirst_row] [-Llast_row] [-bbatch_size]
[-ddatabase_name] [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )]
[-q] [-C { ACP | OEM | RAW | code_page } ] [-tfield_term]
[-rrow_term] [-iinput_file] [-ooutput_file] [-apacket_size]
[-S [server_name[\instance_name]]] [-Ulogin_id] [-Ppassword]
[-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]
请注意数据导入导出的方向参数:in,out,queryout
如:
如:
4.BULK INSERT. T-SQL的命令,允许直接导入数据
语法:
BULK INSERT
[ database_name. [ schema_name ] . | schema_name. ] [ table_name | view_name ]
FROM 'data_file'
[ WITH
(
[ [ , ] BATCHSIZE =batch_size ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ [ , ] DATAFILETYPE =
{ 'char' | 'native'| 'widechar' | 'widenative' } ]
[ [ , ] FIELDTERMINATOR = 'field_terminator' ]
[ [ , ] FIRSTROW = first_row ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE ='format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH =kilobytes_per_batch ]
[ [ , ] LASTROW =last_row ]
[ [ , ] MAXERRORS =max_errors ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH =rows_per_batch ]
[ [ , ] ROWTERMINATOR ='row_terminator' ]
[ [ , ] TABLOCK ]
[ [ , ] ERRORFILE ='file_name' ]
)]
重要参数:
FIELDTERMINATOR,字段分隔符
FIRSTROW:第一个数据行
ROWTERMINATOR:行终结符
如:
BULK INSERT dbo.ImportTest
FROM 'C:\ImportData.txt'
WITH ( FIELDTERMINATOR =',', FIRSTROW = 2 )
5. OPENROWSET也是T-SQL的命令,包含有DB连接的信息和其它导入方法不同的是,OPENROWSET可以作为一个目标表参与INSERT,UPDATE,DELETE操作.
语法:
OPENROWSET
( { 'provider_name', { 'datasource';'user_id';'password'
| 'provider_string' }
, { [ catalog. ] [ schema. ] object
| 'query'
}
| BULK 'data_file',
{ FORMATFILE ='format_file_path' [ <bulk_options> ]
| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} )<bulk_options> ::=
[ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ , ERRORFILE ='file_name' ]
[ , FIRSTROW = first_row ]
[ , LASTROW = last_row ]
[ , MAXERRORS = maximum_errors ]
[ , ROWS_PER_BATCH =rows_per_batch ]
如:
INSERT INTO dbo.ImportTest
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\ImportData.xls', 'SELECT * FROM [Sheet1$]') WHERE A1 IS NOT NULL
6.OPENDATASOURCE
语法:
OPENDATASOURCE ( provider_name,init_string )
如:
INSERT INTO dbo.ImportTest
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\ImportData.xls;Extended Properties=Excel 8.0')...[Sheet1$]
7.OPENQUERY.是在linked server的基础上执行的查询.所以执行之前必须先建立好link server.OPENQUERY的结果集可以作为一个table参与DML的操作.
语法:
OPENQUERY (linked_server ,'query')
如:
EXEC sp_addlinkedserver 'ImportData',
'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0',
'C:\ImportData.xls',
NULL,
'Excel 8.0'
GO
INSERT INTO dbo.ImportTest
SELECT *
FROM OPENQUERY(ImportData, 'SELECT * FROM [Sheet1$]')
Ⅲ 请问 服务器在备份数据、导入导出数据时候 大概是怎样操作流程的
你说的备份数据是指备份数据库还是备份文件。
数据库备份方法
下面就以数据库“tjdata”为例,介绍一下数据库备份的操作方法。
1、
点击打开“开始—程序—Microsoft SQL Server 7.0—Enterprise Manager”,如下图:
打开后显示如下界面:
2、
点击Microsoft SQL Server左边的+号,逐层打开,直到看到名为“tjdata”的数据库名,如下图所示:
3、
右键点击“tjdata”,在显示出的菜单中选“所有任务(all task)—backup database”,如下图所示:
4、
打开后显示如下界面:
5、
在上图中点“Add”按钮,进入如下界面:
6、 点击“…”按钮,如下图,在File栏输入备份文件名bak_tjdata。
7、
点击“ok”回到第4步所示截面。如下图
8、
在上图中选“Overwrite existing media”项,然后点击“确定”即开始备份,备份完成如下图所示:
9、 还原数据库的操作类似,在第3步操作的右键菜单中选择“所有任务(all task)—restore database”,然后找到已备份的文件即可还原。还原操作时一定要关闭打开的体检程序。
数据库还原方法
1、 进入企业管理器,删除已有的数据库tjdata和登录用户tjuser。
2、 右键点击database,在弹出的菜单中选择“所有任务(all task)—restore database”。
3、 先输入数据库名tjdata,然后选择From device单选项。
4、 点击Select Device —>Add,找到并打开已做的数据库备份文件。
5、 点击Option标签页,如下图所示,选中复选项Force restore over existing database,点击确定即开始进行恢复。应注意的是,数据库还原后产生两个扩展名分别为mdf和ldf的物理文件,分别为数据文件和日志文件。所以在Restore database file as框中的数据库文件路径必须为有效的路径,否则无法进行还原。
6、 显示还原成功后,打开查询分析器(Query Analyzer),用sa用户登录。
7、 登录成功后,进入SQL命令编辑窗,选择数据库(DB:)为tjdata。
8、 输入并执行SQL以下语句,将执行结果的字符串拷贝下来。
select sid from sysusers where name='futian_user'
9、 输入并执行SQL以下语句,其中加下划线的字符串为上一句的执行结果。
sp_addlogin 'tjuser','tjuser','tjdata',null,,null
10、 打开杏林神指体检程序即可正常使用。
11、 以上步骤为备份数据库后在另一台电脑上还原的操作,如果为同一电脑的数据库还原,则无需步骤1、6、7、8、9。
根据数据库类型的不同,备份的方法也完全不同,楼主去搜索一下各种数据库的备份、以及数据导入、导出教程就明白了。