精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

VB.NET安裝工程具體應用方法解析

開發(fā) 后端
VB.NET安裝工程的用法是比較簡單的。初學者們完全可以按照這里介紹的代碼編寫方式來實現(xiàn)這一功能。并幫助大家加深對這一語言的印象。

VB.NET是由微軟推出的一款功能強大的,具有面向?qū)ο筇匦缘木幊陶Z言。它可以幫助我們打造出一個安全穩(wěn)定的編程環(huán)境,提高編程效率。我們將會在這篇文章為大家詳細介紹一下有關VB.NET安裝工程的相關概念。

剛聽了SMART CLIENT部署的講座,里面詳細講述了如果在VB.NET安裝工程里運行自定義的DLL或者EXE,以后在自定義的工程中如何得到安裝工程的傳遞過來的參數(shù)。下面大致說一下自己的心得:

首先,是制作一個類工程。然后添加一個安裝類文件,并添加一個SQL.TXT文件,當作嵌入的資源,類的代碼如下,在后面再做說明:

  1. Dim Cn As SqlConnection  
  2. '得到SQL腳本字符串  
  3. Private Function GetSql(ByVal Name As String) As String  
  4. Try  
  5. '通過反射取到程序集  
  6. Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()  
  7. '讀取資源文件資料,要將資源文件在編譯時設成嵌入的資源  
  8. Dim Sm As Stream = Asm.GetManifestResourceStream
    (Asm.GetName().Name + "." + Name)  
  9. Dim Rr As New StreamReader(Sm)  
  10. Return Rr.ReadToEnd  
  11. Catch ex As Exception  
  12. MsgBox(Err.Description, MsgBoxStyle.OKOnly, "出錯提示")  
  13. Throw ex  
  14. End Try  
  15. End Function  
  16. '得到數(shù)據(jù)庫備份文件路徑  
  17. Private Function GetBakFilePath
    (ByVal DatFileName As String) As String  
  18. Try  
  19. '通過反射取到程序集  
  20. Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()  
  21. '讀取資源文件資料,要將資源文件在編譯時設成嵌入的資源  
  22. Dim Sm As Stream = Asm.GetManifestResourceStream
    (Asm.GetName().Name + "." + DatFileName)  
  23. If File.Exists("c:\" & DatFileName) Then  
  24. File.Delete("c:\" & DatFileName)  
  25. End If  
  26. Dim Fs As New FileStream("c:\" & DatFileName, FileMode.Create)  
  27. Dim Sw As New BinaryWriter(Fs)  
  28. Dim recbyte(Sm.Length - 1) As Byte  
  29. Dim strread As New BinaryReader(Sm)  
  30. strread.Read(recbyte, 0, recbyte.Length)  
  31. Sw.Write(recbyte, 0, recbyte.Length)  
  32. Sw.Close()  
  33. Fs.Close()  
  34. Return "C:\" & DatFileName  
  35. Catch ex As Exception  
  36. MsgBox(Err.Description, MsgBoxStyle.OKOnly, "出錯提示")  
  37. Throw ex  
  38. End Try  
  39. End Function  
  40. Private Sub ExecuteSql(ByVal DbName As String, 
    ByVal SqlText As String, ByVal uid As String, 
    ByVal pwd As String, ByVal servername As String)  
  41. Dim cmd As New SqlCommand(SqlText, Cn)  
  42. If Cn.State = ConnectionState.Closed Then Cn.Open()  
  43. Try  
  44. Cn.ChangeDatabase(DbName)  
  45. cmd.ExecuteNonQuery()  
  46. Catch ex As Exception  
  47. MsgBox("運行SQL腳本出錯!", MsgBoxStyle.OKOnly, "提示")  
  48. Throw ex  
  49. End Try  
  50. Cn.Close()  
  51. End Sub  
  52. Protected Sub AddDBTable(ByVal DBName As String, 
    ByVal uid As String, ByVal pwd As String, ByVal servername As String)  
  53. '判斷數(shù)據(jù)庫是否存在  
  54. Try  
  55. Cn = New SqlConnection("Persist Security Info=False;
    User 
    ID=" & uid & ";Initial Catalog=master;
    Data 
    Source=" & servername & ";password=" & pwd & ";Max Pool Size=75000")  
  56. Dim Dt As New DataTable()  
  57. Cn.Open()  
  58. Dim cmd As New SqlDataAdapter()  
  59. cmd.SelectCommand = New SqlCommand("exec sp_helpdb", Cn)  
  60. cmd.Fill(Dt)  
  61. Dim i As Int16  
  62. For i = 0 To Dt.Rows.Count - 1  
  63. If DBName.ToLower = CType(Dt.Rows(i).Item(0), String).ToLower Then  
  64. '數(shù)據(jù)庫存在  
  65. cmd = Nothing 
  66. Cn.Close()  
  67. Exit Sub  
  68. End If  
  69. Next  
  70. Catch ex As Exception  
  71. MsgBox(Err.Description & "連接數(shù)據(jù)庫出錯,請檢查所輸入的參數(shù)是否正確!",
     MsgBoxStyle.OKOnly, "出錯提示")  
  72. Exit Sub '如已存在則跳出  
  73. End Try  
  74. Try  
  75. '========方法一:運行SQL腳本創(chuàng)建數(shù)據(jù)庫  
  76. ' ExecuteSql("Master", "Create DataBase " & DBName, uid, pwd, servername)  
  77. 'ExecuteSql(DBName, GetSql("mysql.txt"), uid, pwd, servername)  
  78. '========方法二:執(zhí)行還原備份文件  
  79. Dim cm As New ADODB.Command()  
  80. Dim cn As New ADODB.Connection()  
  81. Dim dbrs As New ADODB.Recordset()  
  82. cn.Open("Provider=SQLOLEDB.1;Persist Security Info=False;
    User 
    ID=" & uid & ";Initial Catalog=master;
    Data 
    Source=" & servername & ";password=" & pwd)  
  83. cm.ActiveConnection = cn 
  84. '判斷該數(shù)據(jù)是否存在,存在就刪除  
  85. cm.CommandText = "exec sp_helpdb" 
  86. dbrs = cm.Execute() '取所有數(shù)據(jù)庫名  
  87. If Not dbrs.BOF And Not dbrs.EOF Then  
  88. Do While Not dbrs.EOF  
  89. If Trim(dbrs.Fields(0).Value) = Trim(DBName) Then '如果該數(shù)據(jù)庫存  
  90. cm.CommandText = "drop database " & Trim(DBName)  
  91. cm.Execute()  
  92. Exit Do  
  93. End If  
  94. dbrs.MoveNext()  
  95. Loop  
  96. End If  
  97. ' dbrs.Close()  
  98. Dim Sfile As String = GetBakFilePath("installdb.dat")  
  99. cm.CommandText = "restore database " & Trim(DBName) & " from DISK='" & Trim(Sfile) & "'"  
  100. cm.Execute()  
  101. cn.Close()  
  102. If File.Exists(Sfile) Then  
  103. File.Delete(Sfile)  
  104. End If  
  105. Catch ex As Exception  
  106. MsgBox(Err.Description & "A", MsgBoxStyle.OKOnly, "出錯提示")  
  107. Throw ex  
  108. End Try  
  109. End Sub  
  110. '覆寫安裝方法  
  111. Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)  
  112. MyBase.Install(stateSaver)  
  113. '取安裝程序中用戶界面中添回的文本框中的參數(shù)值  
  114. Dim Connstr As String = Me.Context.Parameters.Item("dbname")  
  115. Dim Cs As String() = Split(Connstr, "|")  
  116. AddDBTable(Cs(0), Cs(1), Cs(2), Cs(3))  
  117. End Sub 

 

然后添加一個VB.NET安裝工程,將上面的類的工程做為項目主輸出添進來.在用戶界面中加一個文本框#t#

然后在文本框的四個屬性中輸入?yún)?shù)名稱..

這里設置了四個參數(shù),在安裝運行的時候,會有界面讓你輸入四個參數(shù),在自定義操作里的安裝項目上,將所加載進來的項目主輸入選中置入.

并將屬性CustomActionData設置為/參數(shù)名=[][][][]...以這種方式寫入在文件框中設置好的參數(shù),我們再看一下上面類中的代碼:

  1. Dim Connstr As String = Me.Context.Parameters.Item("dbname") 

便會取到參數(shù)dbname的值,亦就是在安裝界面時要用戶輸入的值.

類中還覆寫了Install方法.會自動運行,并執(zhí)行用戶自定義的程序代碼.代碼與平時所編的vbNET一樣.

上面的VB.NET安裝工程代碼做了二種情況,一種是從嵌入的文本文件中取得SQL語句,運行它創(chuàng)建數(shù)據(jù)庫.另一種是用SQL數(shù)據(jù)備份的DAT文件做為嵌入資源,在安裝過程中,由用戶輸入的參數(shù)為條件,連接SQL服務器并還原數(shù)據(jù)庫...

責任編輯:曹凱 來源: wewill.cn
相關推薦

2010-01-21 18:19:45

VB.NET條件編譯

2009-11-02 16:05:51

VB.NET安裝工程

2010-01-21 17:48:25

VB.NET Sing

2010-01-18 19:04:29

VB.NET組件疊加

2010-01-19 16:55:46

VB.NET聲明語句

2009-10-09 15:59:41

VB.NET對象

2010-01-22 16:07:26

VB.NET Mid函

2010-01-11 17:40:36

VB.NET相框效果

2010-01-21 16:37:56

VB.NET變量聲明

2010-01-07 15:25:11

VB.NET數(shù)組

2010-01-20 17:41:13

VB.NET標記語句

2009-10-27 11:16:20

VB.NET應用框架

2010-01-15 16:12:40

VB.NET調(diào)用DLL

2010-01-13 16:45:44

VB.NET刪除控件

2010-01-18 18:06:07

VB.NET多線程

2010-01-07 16:51:56

VB.NET窗體鉤子

2010-01-18 14:35:11

VB.NET讀取內(nèi)存

2010-01-13 17:16:37

VB.NET冒號

2010-01-13 09:45:53

VB.NET Arra

2010-01-12 16:20:44

VB.NET類
點贊
收藏

51CTO技術棧公眾號

亚洲欧美另类国产| 亚洲一区二区三区不卡国产欧美| 国产成人精品国内自产拍免费看| 受虐m奴xxx在线观看| 第四色男人最爱上成人网| 亚洲国产精品高清| 操人视频欧美| 成人h动漫精品一区二区下载| 日韩在线不卡| 精品国产区一区| 国产精品免费观看久久| 黄av在线免费观看| 99re这里只有精品视频首页| 国产精品香蕉av| 黄色小说在线观看视频| 成人激情诱惑| 亚洲高清福利视频| 天天视频天天爽| 日本不卡1234视频| 亚洲欧洲综合另类| 四虎永久国产精品| 天天干天天舔天天射| 极品少妇一区二区三区精品视频| 91av视频导航| 青娱乐在线视频免费观看| 精品免费视频| 精品视频—区二区三区免费| 激情久久综合网| 日韩三区在线| 精品二区三区线观看| 丰满人妻一区二区三区53号 | 337p亚洲精品色噜噜噜| 免费在线激情视频| av漫画网站在线观看| 日韩毛片高清在线播放| 视频一区二区精品| 国产在线观看网站| ww亚洲ww在线观看国产| 韩国一区二区三区美女美女秀| 一区二区三区免费观看视频| 日韩精品高清不卡| 欧美重口另类videos人妖| 久久久精品人妻一区二区三区四| 影视亚洲一区二区三区| 精品国产一区av| 免费观看av网站| 秋霞综合在线视频| 亚洲级视频在线观看免费1级| 少妇性l交大片7724com| 国产在线一区不卡| 欧美一区二区高清| 在线免费黄色小视频| 国产美女亚洲精品7777| 欧美一区永久视频免费观看| 久久久精品高清| 亚洲男男av| 欧美一区二区黄| 曰本三级日本三级日本三级| 日本在线成人| 精品国产伦一区二区三区观看体验| 一级片免费在线观看视频| 粉嫩一区二区三区在线观看| 欧美一区二区三区日韩| 26uuu国产| 豆花视频一区二区| 日韩电影免费观看在线观看| 欧美夫妇交换xxx| 天天躁日日躁成人字幕aⅴ| 精品视频偷偷看在线观看| 老熟妇一区二区| 久久中文字幕二区| 久久这里有精品视频| 欧美极品视频在线观看| 日韩视频久久| 国产精品xxx视频| 在线免费观看av片| 国产91综合一区在线观看| 精品国产电影| 欧美挠脚心网站| 国产精品国产三级国产三级人妇| 国产大尺度在线观看| www.综合| 欧美三级日韩在线| 日本黄色www| 性人久久久久| 日韩在线观看免费全| 中文字幕另类日韩欧美亚洲嫩草| 在线视频观看日韩| 国产精品久久久久免费a∨大胸| 91肉色超薄丝袜脚交一区二区| 国产精品白丝av| 欧美一区二区福利| 中国av在线播放| 91久久香蕉国产日韩欧美9色| 国产野外作爱视频播放| 77成人影视| 国产亚洲欧美视频| 久久视频免费看| 日韩av在线发布| 成人黄动漫网站免费| 国产在线播放av| 一区二区三区精品久久久| 99热在线这里只有精品| 99精品视频在线免费播放| 亚洲精品国产精品国自产在线| 在线观看亚洲大片短视频| 激情文学一区| 成人免费视频在线观看超级碰| 熟妇人妻中文av无码| 中文字幕日韩一区| 国产成人久久777777| 日韩综合一区二区三区| 中文字幕亚洲一区| 国产精品久久久久久久久久久久久久久久久 | 狠狠爱综合网| 国产精品网站视频| 黄色电影免费在线看| 亚洲动漫第一页| www.com污| 欧美日韩久久精品| 日本高清不卡的在线| 人妻精品一区二区三区| ●精品国产综合乱码久久久久| 国产精品wwwww| 久久精品色播| 欧美激情精品久久久久久| 91中文字幕在线视频| 国产日韩欧美精品电影三级在线| 97在线国产视频| 香蕉大人久久国产成人av| 日韩视频免费在线观看| 天天操天天摸天天干| 成人涩涩免费视频| 大陆极品少妇内射aaaaaa| 日韩在线激情| 日韩中文字幕亚洲| 国产午夜无码视频在线观看| 久久综合一区二区| 欧美爱爱视频免费看| 国产一区二区三区亚洲| 久久久久久亚洲精品| 亚洲大尺度网站| 国产精品欧美精品| 少妇黄色一级片| 精品久久久久久久| 国产精品扒开腿爽爽爽视频 | 久久精品视频亚洲| 97成人在线观看| 亚洲三级小视频| 久久艹这里只有精品| 亚洲精品一区二区妖精| 91在线免费视频| yellow91字幕网在线| 日韩欧美中文字幕公布| 久久精品一区二区三| 国产精品系列在线播放| 国产主播自拍av| 群体交乱之放荡娇妻一区二区| 88xx成人精品| 成人性生交大片免费看午夜| 欧美影院精品一区| 国精品人伦一区二区三区蜜桃| 美女视频黄免费的久久| 亚洲一区二区免费视频软件合集| 农村妇女一区二区| 久久国产精品网站| 国产女同91疯狂高潮互磨| 一区二区三区鲁丝不卡| av漫画在线观看| 国产精品永久| 日韩少妇中文字幕| 精品久久国产一区| 久久久久久久久久久免费 | 中文字幕人妻色偷偷久久| 国产精品国产三级国产普通话99| 亚洲国产午夜精品| 99精品国产在热久久下载| 欧美日韩在线观看一区| 色综合一区二区日本韩国亚洲 | 亚洲电影免费观看高清完整版在线| 日韩av一区二区在线播放| www亚洲一区| 久久黄色片网站| 国内精品久久久久久久97牛牛| 国模精品娜娜一二三区| 电影久久久久久| 久久成人精品一区二区三区| 欧美特黄一级视频| 欧美亚洲国产一区在线观看网站| 久久久99999| 成人avav在线| 五月激情婷婷在线| 在线观看视频日韩| 亚洲成色最大综合在线| 蜜桃在线一区| 国产成人精品综合| 18视频在线观看| 亚洲人成电影网站色| 国产精品羞羞答答在线| 欧美色道久久88综合亚洲精品| 蜜桃av免费在线观看| 不卡影院免费观看| www.国产视频.com| 翔田千里一区二区| 亚洲高潮无码久久| 精品日本12videosex| 国产精品视频入口| 亚洲精品aa| 日本不卡高字幕在线2019| 日本小视频在线免费观看| 亚洲品质视频自拍网| 囯产精品久久久久久| 欧美日韩一区在线观看| 在线能看的av| 亚洲国产综合在线| 视频国产一区二区| 国产香蕉久久精品综合网| wwwxx日本| 国产一区二区三区高清播放| 国产成人手机视频| 美女久久一区| 999一区二区三区| 91超碰成人| 亚洲欧美日韩精品在线| 亚洲精品小区久久久久久| 99久热re在线精品996热视频| 成人免费一区| 国产成人一区二区三区小说| f2c人成在线观看免费视频| 久久99国产精品自在自在app| av色图一区| 在线成人中文字幕| 久久99久久| 亚洲欧美日韩直播| 你懂的在线看| 日韩精品在线观看一区二区| 欧美在线精品一区二区三区| 日韩一级二级三级| 99精品国产99久久久久久97| 欧美日韩mp4| 亚洲中文字幕在线观看| 欧美性大战久久| 波多野结衣爱爱| 一本一道综合狠狠老| 亚洲日本视频在线观看| 欧美日韩亚洲一区二| 天天操天天摸天天干| 欧美性猛交xxxx富婆| 国产成人免费观看视频 | 欧美成人精品在线| 菠萝蜜视频国产在线播放| 久久九九国产精品怡红院| а√天堂8资源在线官网| 久久91精品国产91久久久| 免费网站在线观看人| 欧美极品少妇xxxxx| av资源网在线播放| 日本欧美一级片| 电影一区二区| 成人xxxx视频| 亚洲视频三区| 久久99欧美| 欧洲福利电影| 一区二区不卡在线| 午夜久久福利| 3d动漫一区二区三区| 三级久久三级久久| 日韩成人精品视频在线观看| 国产乱色国产精品免费视频| 深夜视频在线观看| 2020国产精品自拍| 国产三级精品三级观看| 亚洲欧美日韩综合aⅴ视频| 久久国产一级片| 欧美日韩在线第一页| 最近中文字幕在线视频| 制服丝袜在线91| 日本精品久久久久久| 国产视频精品久久久| av中文在线| 欧美激情图片区| 依依综合在线| 91性高湖久久久久久久久_久久99| 中文字幕av一区二区三区四区| 激情伦成人综合小说| 日韩大片在线播放| www.成年人视频| 日韩精品亚洲专区| 中文字幕制服丝袜| 国产日韩欧美一区二区三区综合| 国产suv精品一区二区68| 午夜国产不卡在线观看视频| 91丨九色丨海角社区| 日韩欧美一级二级| 久久av少妇| 久久久亚洲福利精品午夜| 成人h在线观看| 国产伦精品一区二区三毛| 精品免费在线| 欧美变态另类刺激| 国产一区二区不卡| 最近中文字幕在线mv视频在线| 亚洲色图在线看| 男人天堂视频在线| 337p日本欧洲亚洲大胆精品| 视频一区二区三区不卡| 8x拔播拔播x8国产精品 | 欧美精品一区二区三区在线看午夜 | 99精品偷自拍| 男人的天堂久久久| 在线观看日韩精品| 天天综合天天色| 久久艹在线视频| 亚洲精品555| 欧美主播一区二区三区美女 久久精品人| 一级欧洲+日本+国产 | 外国成人直播| 国产日韩欧美二区| 亚洲精品国产偷自在线观看| 亚洲国产精品二十页| 少妇无套高潮一二三区| 午夜免费久久看| 国产肥老妇视频| 日韩专区在线播放| 精品欧美日韩精品| 欧美日韩在线精品一区二区三区| 精品电影一区| 制服.丝袜.亚洲.中文.综合懂 | 女人18毛片毛片毛片毛片区二| 色婷婷久久综合| 天堂中文在线视频| 久久久久久久久久久国产| 日韩中文一区二区| 国产 欧美 日本| 国产一区二区三区四| 日韩在线不卡av| 欧美日韩成人综合| 91xxx在线观看| 国产精品香蕉国产| 91久久夜色精品国产按摩| 亚洲综合色在线观看| 中日韩av电影| 中文字幕自拍偷拍| 日韩在线观看免费高清完整版| 久久久加勒比| 综合国产精品久久久| 精品在线观看免费| 婷婷久久综合网| 91精品黄色片免费大全| 国产成人午夜| 91精品久久久久久蜜桃| 国产一在线精品一区在线观看| 中文字幕在线观看视频www| 亚洲精品成人悠悠色影视| 亚洲国产av一区二区| 韩国日本不卡在线| 三级小说欧洲区亚洲区| 激情网站五月天| 国产精品你懂的在线| 96亚洲精品久久久蜜桃| 久久99精品久久久久久噜噜| 亚洲视频一起| 免费观看美女裸体网站| 久久免费偷拍视频| 这里只有精品6| 萌白酱国产一区二区| youjizz亚洲| 777米奇影视第四色| 欧美高清在线精品一区| 一级片免费网站| 欧美国产精品人人做人人爱| 国产精品白丝av嫩草影院| wwwxxx黄色片| 国产精品成人免费| 亚洲经典一区二区三区| 清纯唯美亚洲激情| 欧美国产一区二区三区激情无套| 欧美高清精品一区二区| 精品免费在线视频| 色三级在线观看| 成人在线看片| 日日骚欧美日韩| 超碰手机在线观看| 精品视频久久久久久| 99精品美女视频在线观看热舞| 男人插女人视频在线观看| 久久久久久电影| av中文字幕在线免费观看| 91po在线观看91精品国产性色| av一区二区高清| 欧美一级片在线免费观看| 91精品办公室少妇高潮对白| 1769免费视频在线观看| 欧美精品一区二区三区四区五区| 国模无码大尺度一区二区三区| 亚洲黄色小说图片| 操91在线视频| 经典一区二区| 天天躁日日躁狠狠躁免费麻豆| 欧美视频一区二区在线观看|