2017-06-28 25 views
0

我在Web.Config中爲Sqlite定義了一個連接。我有一個SqlDataSource的窗體,使用上述連接成功綁定到網格。在運行時修改SqlDataSource以連接到另一個Sqlite文件

現在,我想使這個靈活,以便我可以將網格連接到我的App_data文件夾中的任何Sqlite數據文件。

假設字符串變量fname包含Sqlite文件的完整路徑,以下是我嘗試在每個Page_load上執行的代碼(甚至是發佈後)。

SqlDataSource1.ConnectionString = String.Format("data source = {0}", aFileName);

這是要做到這一點,使SqlDataSource1然後獨立在web.config文件編碼的連接字符串的正確方法是什麼?我問,因爲它似乎第一次工作,但後來在網格中的選擇更改,恢復使用web.config連接中指定的sqlite文件,所以如果缺少,它會開始拋出「SQL邏輯錯誤 - 表在彈出消息框中找不到「sqlite異常。

回答

0

在一些實驗後得出結論。正確的代碼是:

SqlDataSource1.ConnectionString = String.Format("data source = {0}", aFileName); 
if (Page.IsPostBack) 
{ 
    dataGrid.DataBind(); 
} 

原因:由於我動態地設置數據源,我需要將數據綁定自己在每次回發。

+0

更新:雖然這是在本地工作,但它不適用於生產。在回發中,它表示無法打開文件。 – user173399