簡體   English   中英

如何在 C# 應用程序中創建指向本地數據庫的通用文件路徑?

[英]How do I create a generic file path to a local database in a C# Application?

我有一個簡單的數據輸入 Windows 表單,帶有鏈接到本地數據庫的 datagridview 顯示。 當我運行程序並嘗試在另一台計算機上添加數據時,我收到以下消息:

您的應用程序中發生了未處理的異常。 如果單擊繼續,應用程序將忽略此錯誤並嘗試繼續。 如果單擊退出,應用程序將立即關閉。

嘗試為文件 C:\Users\roberto.yepez\Documents\Visual Studio\2010\Projects\Financial Aid Calculator\Financial Aid Calculator\StudentInfo1.mdf 附加自動命名的數據庫失敗。 存在同名數據庫,或無法打開指定文件,或位於 UNC 共享上。”

文件路徑是我編寫程序的計算機上的路徑。

這是我的代碼:

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\roberto.yepez\Documents\Visual Studio 2010\Projects\Financial Aid Calculator\Financial Aid Calculator\StudentInfo1.mdf';Integrated Security=True".ToString());

我是一個自學成才的程序員,請幫忙::)

我相信您遇到了問題,因為您的代碼嘗試將 StudentInfo1.mdf(其路徑在連接字符串中)附加到的本地 sql 服務器已經包含一個名為 StudentInfo1 的數據庫 - 它決定嘗試創建一個數據庫此名稱的名稱基於 mdf 文件的名稱。 我猜您可以通過在連接字符串中指定 Initial Catalog 來選擇自己的名稱,但這意味着有兩個數據庫可能具有相同的表集並且可能會造成混淆

根據我發布的評論,我建議您使用 SQL Server Management Studio 永久附加您的數據庫(您已經這樣做了),然后調整您的連接字符串,使其引用永久附加的數據庫。 這減少了您的下一個問題是“我的代碼說它正在更新我的數據庫但我看不到任何更改??”的可能性。

請移動此連接字符串

“數據源=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\roberto.yepez\Documents\Visual Studio 2010\Projects\Financial Aid Calculator\Financial Aid Calculator\StudentInfo1.mdf';Integrated Security=True”

app.config 文件 部署到生產環境時,根據生產機器設置更改該 app.config 中的路徑。

您甚至可以在 app.config 上應用轉換以部署在各種機器/場景中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM