您好,登錄后才能下訂單哦!
這篇文章主要介紹C#如何調用COM對象,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
C#調用COM對象
我們曾經在以前的應用中多次需要得到SQL Server的詳細信息,過去,我們必須使用API和效率低下的ADO的調用才能得到,現在,我們有了一個新的方法,就是SQLDMO(SQL Distributed Management Objects,SQL分布式管 理對象),盡管它目前還不被人所知和使用,但是SQLDMO提供了許多強有力的、和利用代碼從SQL Server獲得 信息相類似的許多功能,為舉例方便,這里僅向您解釋如何得到本地網絡的SQL Server列表,如何去連接每 個SQL Server,以及如何得到Server中的表、存儲過程和視圖的列表。
SQLDMO對象來自SQLDMO.dll,SQLDMO.dll是隨SQL Server2000一起發布的。SQLDMO.dll自身是一個COM對象,因此 ,在你的.NET項目里必須先引用它,VS.NET集成開發環境會創建所有必要的對COM的封裝。注意:如果你使用“ using SQLDMO;”語句來引用的話,你將會得到一個錯誤信息。
C#調用COM對象之后,你就可以很容易地使用它了。
本例子中的所有操作都使用以下的一個或幾個對象:
◆SQLDMO.Application
◆SQLDMO.SQLServer
◆SQLDMO.Database
◆SQLDMO.NameList
象數據備份和恢復這樣的操作都有許多對象可以使用,但作為例子,我們會盡量簡單,使你輕松進 入SQLDMO的世界來瀏覽一下它的方便性。
列出本地網絡中可使用的SQL服務器相對來說比較簡單,首先,你需要引用SQLDMO.Application對象,其次,你必須建立一個SQLDMO.Application.ListAvailableSQLServers()方法的返回值的實例SQLDMO.NameList,SQLDMO.NameList是服務器名字的COM集合。
請記住:在你習慣了C#調用COM對象之前,C#調用COM對象總是令人感到可怕的,但習慣了就會好的。下面 是一些示例代碼,它利用本地可使用的SQL服務器的列表來填充下拉列表框。
SQLDMO.ApplicationsqlApp=newSQLDMO.ApplicationClass(); SQLDMO.NameListsqlServers=sqlApp.ListAvailableSQLServers(); for(inti=0;i<sqlServers.Count;i++) { objectsrv=sqlServers.Item(i+1); if(srv!=null) { this.cboServers.Items.Add(srv); } } if(this.cboServers.Items.Count>0) this.cboServers.SelectedIndex=0; else this.cboServers.Text="<NoavailableSQLServers>"; //得到指定SQL服務器所有數據庫的列表 SQLDMO.ApplicationsqlApp=newSQLDMO.ApplicationClass(); SQLDMO.SQLServersrv=newSQLDMO.SQLServerClass(); srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text); foreach(SQLDMO.Databasedbinsrv.Databases) { if(db.Name!=null) this.cboDatabase.Items.Add(db.Name); }
以上是“C#如何調用COM對象”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。