2012-06-20 34 views
0

我正在使用Visual Studio 2010構建ASP.NET Web應用程序,我正在從數據庫中的信息動態填充(部分)站點地圖。現在我的App_Data文件夾中有一個名爲DrugTest.mdf的虛擬表格。該表僅稱爲DrugTest1,它只有一個字段DrugName。我撞牆的地方實際上是從表格中獲取數據。我感到困惑的部分是連接字符串。我查看了很多關於連接字符串的不同信息,最值得注意的是http://www.connectionstrings.com/,但是我對如何將這些信息實際應用於此項目感到有點困惑。從表中獲取數據到ASP.NET Web應用程序

編輯:我正在使用SQL Server 2008 RC。

例如:Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

密碼和用戶ID是不言自明,但據我所知,我沒有得到任何其中的一個,我只是增加了一個表App_Data文件夾並填充它與虛擬數據。 ServerAddress有點令人困惑,因爲這些信息並不是真的存儲在服務器上,它只是存儲在本地。我真的不確定初始目錄是什麼意思。 下面是填充子樹的代碼。你會注意到連接字符串是空白的。

string connString = ""; // get the connection string 
string commandString = "SELECT drugName FROM DrugTable1"; 

SqlConnection connection = new SqlConnection(connString); // connect to db 
SqlCommand command = new SqlCommand(commandString, connection); // set up the command 
SqlDataAdapter adapter = new SqlDataAdapter(command); 
DataSet drugs = new DataSet(); 
adapter.Fill(drugs); 

foreach (DataRow row in drugs.Tables[0].Rows) 
{ 
    string drugName = row["Name"] + ""; 
    SiteMapNode node = new SiteMapNode(this, drugName, 
         "~/PlaceHolderUrl?path=" + drugName, 
         drugName); 
    AddNode(node, root); 
} 

此外,我有一個嘮叨的懷疑,我不會這樣做正確的方式。一旦數據庫啓動並運行,我認爲這將是正確的實現,但現在我只想讓它工作,因此它已經準備就緒 - 只需要正確連接字符串和表/字段名稱即可。

因此,最後,我的問題:我將如何去連接到這個本地表?我的連接字符串應該是什麼格式?我注意到有很多。有沒有更好的方法來做到這一點/我做錯了嗎?

+1

通過連接字符串加載數據庫文件是一件痛苦的事情。我的建議是隻下載並安裝SQL Express版本並使用它。它離您的預期目標環境更近,並且不需要任何成本。 – JamieSee

回答

1

獲得正確的連接字符串檢查了這一點在ServerExplorer窗口

  • 在上查看 - 單擊菜單>服務器資源管理器
  • 在服務器資源管理器窗口,找到DrugTest.mdf
  • 的另一種方式右鍵單擊該文件,然後選擇屬性

enter image description here

  • 你可以看到在屬性
  • 複製連接字符串正確的連接字符串和使用

注:該文件的位置是硬編碼。您可能需要以後使用|DataDirectory|

+0

我一直在尋找三天的具體事情。我正在這個App_Data \ DrugTest.mdf文件夾中尋找它。我覺得自己像一個白癡,但非常感謝,它的工作。 – MikeTheLiar

+0

很高興這有幫助 – codingbiz

1

嘗試用AttachDbFilename=|DataDirectory|DrugTest.mdf替換連接字符串的初始目錄部分。另外,如果您使用的是SQL Server Express,則可能需要將實例包含在數據源中,因此可能會嘗試Data Source=mySeverAddress\SQLExpress,其中SQLExpress是實例名稱。

順便說一句,在http://www.connectionstrings.com站點上,如果您向下滾動一下標題爲「附加數據庫文件,位於數據目錄中,連接到本地SQL」一節中,則可以在SQL Server 2008頁中找到此信息Server Express實例「。

+0

所以我應該把用戶名和密碼留空? – MikeTheLiar

+0

建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 錯誤定位服務器/實例指定) '由adapter.Fill(藥物)引發' – MikeTheLiar

+0

這聽起來像也許你正在使用完整版本的SQL Server而不是SQLExpress,所以改變數據源返回到myServerAddress。 – Tuan

相關問題