我在Web.Config中为Sqlite定义了一个连接。我在表单上有一个SqlDataSource,它成功地使用上述连接绑定到网格。
现在,我想使其灵活,以便我可以将网格连接到App_data文件夹中的任何Sqlite数据文件。
假设字符串变量fname包含Sqlite文件的完整路径,这里是我尝试在每个Page_load上执行的代码(甚至是post back)。
SqlDataSource1.ConnectionString = String.Format("data source = {0}", aFileName);
这是否是正确的方法,以便SqlDataSource1独立于web.config文件中编码的连接字符串?我问,因为它似乎第一次工作但稍后在网格中选择更改,恢复使用web.config连接中指定的sqlite文件,所以如果缺少它,它开始抛出“sql逻辑错误 - 表在弹出消息框中找不到“sqlite异常。”
答案 0 :(得分:0)
经过一些实验后得到了它。正确的代码是:
SqlDataSource1.ConnectionString = String.Format("data source = {0}", aFileName);
if (Page.IsPostBack)
{
dataGrid.DataBind();
}
原因:由于我正在动态设置DataSource,我需要在每次回发时自己绑定数据。