2017-06-28 26 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