小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VBA SQLServer 基本操作

 Excel實(shí)用知識(shí) 2021-11-20
  • 讀取MS SQL Server數(shù)據(jù)表數(shù)據(jù),并將它保存到excel工作表中
復(fù)制代碼
復(fù)制代碼
Sub ReturnSQLrecord()
    'sht 為excel工作表對(duì)象變量,指向某一工作表
    Dim i As Integer, sht As Worksheet
    
    '定義數(shù)據(jù)鏈接對(duì)象 ,保存連接數(shù)據(jù)庫(kù)信息
    '使用ADODB,須在菜單的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x”
    Dim cn As New ADODB.Connection
    
    '定義記錄集對(duì)象,保存數(shù)據(jù)表
    Dim rs As New ADODB.Recordset
    Dim strCn As String, strSQL As String
    
    '定義數(shù)據(jù)庫(kù)鏈接字符串,Server=服務(wù)器名稱或IP地址(本地可填寫(xiě)“.”);Database=數(shù)據(jù)庫(kù)名稱;Uid=用戶登錄名;Pwd=密碼
    strCn = 'Provider=sqloledb;Server=NIKEY-980114BB0;Database=pubs;Uid=sa;Pwd=sa;'
    
    '定義SQL查詢命令字符串
    strSQL = 'select job_id, job_desc from dbo.jobs'
    
    '與數(shù)據(jù)庫(kù)建立連接,如果成功,返回連接對(duì)象cn
    cn.Open strCn
    
    '執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對(duì)象中
    rs.Open strSQL, cn
    
    i = 1
    '把sht指向當(dāng)前工作簿的sheet1工作表
    Set sht = ThisWorkbook.Worksheets('sheet1')
    
    '當(dāng)數(shù)據(jù)指針未移到記錄集末尾時(shí),循環(huán)下列操作
    Do While Not rs.EOF
        
        '把當(dāng)前記錄的job_id字段的值保存到sheet1工作表的第i行第1列
        sht.Cells(i, 1) = rs('job_id')
        sht.Cells(i, 2) = rs('job_desc')
        
        '把指針移向下一條記錄
        rs.MoveNext
        i = i + 1
    Loop
    
    '關(guān)閉記錄集
    rs.Close
    
    '關(guān)閉數(shù)據(jù)庫(kù)鏈接,釋放資源
    cn.Close
End Sub
復(fù)制代碼
復(fù)制代碼
  •  讀取excel工作表數(shù)據(jù),并將之插入到數(shù)據(jù)庫(kù)中(將sheet1工作表中的A2:D6的記錄插入到數(shù)據(jù)庫(kù)pubs的jobs數(shù)據(jù)表中) 
復(fù)制代碼
復(fù)制代碼
Sub ReturnSQLrecord()
    Dim i As Integer, sht As Worksheet
    
    '定義數(shù)據(jù)鏈接對(duì)象 ,保存連接數(shù)據(jù)庫(kù)信息
    '使用ADODB,須在菜單的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x”
    Dim cn As New ADODB.Connection
    
    Dim strCn As String, strSQL As String
    
    '定義數(shù)據(jù)庫(kù)鏈接字符串,Server=服務(wù)器名稱或IP地址(本地可填寫(xiě)“.”);Database=數(shù)據(jù)庫(kù)名稱;Uid=用戶登錄名;Pwd=密碼
    strCn = 'Provider=sqloledb;Server=.;Database=pubs;Uid=sa;Pwd=sa;'
    
    '清空定義的變量
    strSQL = ''
    
    '與數(shù)據(jù)庫(kù)建立連接,如果成功,返回連接對(duì)象cn
    cn.Open strCn
    
    Set sht = ThisWorkbook.Worksheets('sheet1')
    For i = 2 To 6
        '構(gòu)造SQL命令串,對(duì)標(biāo)識(shí)列job_id執(zhí)行插入操作時(shí),要設(shè)置表的IDENTITY_INSERT為打開(kāi),否則會(huì)插入失敗
        strSQL = strSQL & 'SET IDENTITY_INSERT dbo.jobs ON;insert into dbo.jobs(job_id,job_desc,min_lvl,max_lvl) values(' _
        & sht.Cells(i, 1) & ',' & CStr(sht.Cells(i, 2)) & ',' & sht.Cells(i, 3) & ',' & sht.Cells(i, 4) & ') ;'
    Next

    '執(zhí)行該SQL命令串,如果SQL命令沒(méi)有錯(cuò)誤,將在數(shù)據(jù)庫(kù)中添加5個(gè)記錄;也可以用rs.open strSQL,cn 執(zhí)行
    cn.Execute strSQL
    
    '關(guān)閉數(shù)據(jù)庫(kù)鏈接,釋放資源
    cn.Close
End Sub
復(fù)制代碼
復(fù)制代碼
  A B C D
1 job_id job_desc min_lvl max_lvl
2 30 'test30' 20 100
3 31 'test31' 20 100
4 32 'test32' 20 100
5 33 'test33' 20 100
6 34 'test34' 20 100

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多