如何指向数据库c#wpf localdb

时间:2017-02-17 19:57:53

标签: c# wpf localdb

我尝试将备份和恢复作为一个开始我试图获取备份数据库所以写一个这样的代码

try
{
    string cbdfilename = "c:\\Bbcon.bak";
    SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\BbCon.mdf;Integrated Security=True;Connect Timeout=30;");
    string sql = "Backup database @DBNAME to Disk = @FILENAME with Format";
    SqlConnection.ClearAllPools();
    SqlCommand cmd = new SqlCommand(sql, con);
    cmd.Parameters.AddWithValue("@DBNAME", "BbCon");
    cmd.Parameters.AddWithValue("@FILENAME", cbdfilename);
    con.Open();
    try
    {
        cmd.ExecuteNonQuery();
    }
    catch(Exception ex)
    {
        MessageBox.Show("Backup DB failed" + ex.ToString());
    }
    finally
    {
        con.Close();
        con.Dispose();
    }
}
catch (SqlException ex)
{
    MessageBox.Show(ex.Message);
}
finally
{
    if (con.State == ConnectionState.Open)
    {
        con.Close();
    }
}

但是当我运行这个代码我得到一个错误数据库BbCon不存在检查你的数据库我不知道什么是问题肯定但我认为我已经给错误的数据库路径我知道路径od数据库正确它就像

C:\Users\Mahdi Rashidi\AppData\Local\Apps\2.0\NOL11TLW.9XG\CZM702AQ.LPP\basu..tion_939730333fb6fcc8_0001.0002_fd707bbb3c97f8d3

但是这个项目适用于其他一些客户,所以当我将这个软件安装到其他计算机路径时会发生变化,所以我会收到错误,所以我恳求大家帮我找一个更好的解决方案来创建一个备用的程序

1 个答案:

答案 0 :(得分:0)

我建议您创建一个app.config文件并将备份目标路径放在那里

OR

我之前做过的事情(为了动态加载程序集,但是这段代码允许你根据你正在运行的程序集检索路径位置)它是这样的:

(不要忘记将System.Reflection添加到您的使用列表中)

cmbTax.getEditor().setOnKeyPressed(this::handleKeyPressedForComboBox);

从那时起,你可以连接你的数据路径"并将数据保存在那里。

希望它有所帮助。