1

我剛剛開始爲dotnetnuke開發模塊(僅在2周前),如何從dotnetnuke中的其他數據庫獲取數據?

我已經在XP上完美安裝了DotNetNuke 6.2,我正在使用VS2008和SQL SERVER 2008 express版本。

我有一個名爲「dnn」的數據庫,用於框架DNN的表。

但現在我想從另一個數據庫名爲銷售數據(例如),它是SQL Server 2008中的同一個實例我真的沒有任何想法如何使用這個數據庫從我的自定義用戶連接內控制.aspx。我試圖把正常的代碼連接到數據庫。我確實生成了連接字符串,我確實生成了連接,並從c#類中執行查詢,但這不起作用。

昨天,我發現從DotNetNuke的數據訪問文件 - 但我不知道如何實現我的自定義模塊,一個新的連接)。所以我的問題是,我如何連接這個銷售數據庫?

回答

2

如果你不賣你的模塊,這似乎不太可能,因爲你打算連接到DNN的DB出方的計劃。

我只想用.NET

添加System.Configuration給您參考,如果你沒有它了。

則:

System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionstring"] 

在你的web配置 新的連接字符串添加到您的連接字符串部分

<connectionStrings> 
    <add name="MyConnectionstring" connectionString="blah" /> 
</connectionStrings> 

有一點要記住的是,DNN只是一個框架變通ASP。因此您可以使用所有.net數據訪問工具。

使用上面的例子我可以寫簡單的東西是這樣的:

string connectionstr = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionstring"] 

using (SqlConnection conn = new SqlConnection(connectionstr)) 
{ 
    // I am using the SqlHelper class here its part of DNN 
    sqlstr = "Select * From SomeTable" 
    using(SqlReader reader = SqlHelper.ExecuteReader(conn, sqlstr)) 
    { 
    while(reader.read()) 
    { 
    /// read into object or what ever 
    } 
    } 
} 
+0

感謝安東尼爲您的答案,但現在我得到另一個提示!,我不使用dnn類在銷售數據庫連接嗎?(如DataProvider,SqlDataProvider),我可以定義我自己的SqlDataProvider類來實現此連接。 這就是我想要做的。 我一直在閱讀數據訪問手冊,其中,首先我需要配置web.config文件添加一個新的連接字符串,接下來我必須指定將使用此其他連接字符串的提供程序。現在我必須爲這個連接實現一個新的SqlDataProvider類。 我能做到嗎?怎麼樣?請原諒我的無知。 – 2012-07-11 15:49:50

+0

我更新了我的答案,以包含@Mitchel所說的一些內容,但我沒有時間回到課堂上的水合物中。 – Anthony 2012-07-11 22:32:40

+0

好的安東尼,我要接受你的建議,我會用這種方式聯繫!謝謝。我將會更多地研究DNN。作爲dnn的模塊開發人員,我只有2周的時間,感謝您的回答,如果還有更多,我會歡迎。 – 2012-07-11 22:49:49

2

我從其他的答覆注意到的意見,我想我會在這裏加一點。

一旦你要連接到另一個數據庫,你是標準的DotNetNuke的配置過程的RELM之外。我認爲你可以創建一個自定義數據提供者/ SqlDataProvider設置,但很可能並不那麼簡單。

在DNN範圍之外工作時,我直接使用SqlHelper自己處理數據訪問,並使用CBO幫助數據水合,但不適用於該外部數據庫的DataProvider模型。

+0

謝謝米切爾賣家,我已經注意到了! Woow Mitchel Sellers寫信給我的問題!我開始研究你的書「專業DotNetNuke模塊編程(Wrox程序員編程)」,可愛! – 2012-07-11 22:57:28

相關問題