![](/img/trans.png)
[英]using |DataDirectory| in connectionstring of multiproject solution
[英]Why does using DataDirectory not work but using a full path works?
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Source=|DataDirectory|\ITGS.accdb\ITGS.accdb");
我正在使用Source=|DataDirectory|\\ITGS.accdb
但由於某種原因沒有添加數據; 但是當我指定完整路徑時,數據會添加到數據庫中。
有人能說出為什么使用|DataDirectory|
不起作用?
.NET 運行時添加了對 DataDirectory 宏的支持。 這允許 Visual Studio 在連接字符串中放置一個特殊變量,該變量將在運行時擴展。
因此,您可以像這樣修改連接字符串:
"Data Source=.\SQLExpress;AttachDbFileName=|DataDirectory|\data.mdf"
默認情況下,|DataDirectory| 變量將被擴展如下:
在幕后,|DataDirectory| 的值僅來自應用程序域上的屬性。 可以通過執行以下操作來更改該值並覆蓋默認行為:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.