C# SQLiteConnection.Open()终止Windows窗体应用程序而不引发异常

C# SQLiteConnection.Open()终止Windows窗体应用程序而不引发异常,c#,winforms,sqlite,C#,Winforms,Sqlite,在Visual Studio 2012中调试windows窗体应用程序时遇到问题。当我构建并运行程序时,它会在执行下面代码段中指示的行时退出。它不会给我任何类型的错误,也不会抛出任何类型的异常。它就这样消失了,结束了,没有给我任何我可以用来找出问题的东西 下面是我单步执行程序时发生的类: public class DBAdapter { protected static SQLiteConnection dbConnection = null; protected static

在Visual Studio 2012中调试windows窗体应用程序时遇到问题。当我构建并运行程序时,它会在执行下面代码段中指示的行时退出。它不会给我任何类型的错误,也不会抛出任何类型的异常。它就这样消失了,结束了,没有给我任何我可以用来找出问题的东西

下面是我单步执行程序时发生的类:

public class DBAdapter
{
    protected static SQLiteConnection dbConnection = null;

    protected static void initConnection() {
        dbConnection = new SQLiteConnection(ConfigurationManager.ConnectionStrings["LocalData"].ConnectionString);
    }

    protected static void openConnection() {
        if (dbConnection == null)
            initConnection();
        if (dbConnection.State == ConnectionState.Broken)
            closeConnection();
        else if (dbConnection.State == ConnectionState.Open)
            return;
        dbConnection.Open();//<-- Here is where it dies
    }

    protected static void closeConnection() {
        if (dbConnection.State == ConnectionState.Closed)
            return;
        dbConnection.Close();
    }
}

有人知道这是怎么回事吗?

我似乎已经做到了这一点,而且由于没有人提供关于它为什么不起作用的确切答案,我将发布我的最佳猜测,以总结这一点,并希望为其他有此问题的人提供一个提示。另见对问题的评论

我不能百分之百肯定这就是原因,因为这不是项目开始工作时唯一改变的事情,但我从评论中采纳了Blorgbeard的建议,并更改了连接字符串:

data source="C:\Users\PerrinL\AppData\Local\CardShark\CardShark.PCShark\1.0.0.0\Data\‌​LocalCardData.db"
变成

Data Source=C:\Users\PerrinL\AppData\Local\CardShark\CardShark.PCShark\1.0.0.0\Data\‌‌LocalCardData.db; Version=3
在数据源中添加了大写字母,从文件路径中删除了引号,并在;之后,添加版本=3


我希望这对某人有所帮助。

似乎没有例外/错误。。怀疑。看来你对我的回答不满意,我给你一个工作示例,你的问题结构不好,这意味着它会消亡。对于你在什么样的比赛中使用这种连接等等。。。我写了一个更好的设计,在这个设计中,你不需要检查连接是打开的还是关闭的。就像我说的,你不满意没问题我删除了我的答案。祝你的问题好运@我的姓你听起来有点生气。如果你是,我很抱歉。我只是想澄清这个问题,并指出为什么你的答案对你或其他可能有答案的人不起作用。你不应该因为这个原因删除你的答案,即使它不是这个问题的真实答案。@mybirthname顺便说一句,我尝试过你的解决方案,但它不起作用。程序在调用someSQLiteConnectionObject.open时仍然终止。您可以检查windows事件日志事件查看器、windows和应用程序,看看是否报告了错误。您确定您的连接字符串正在加载并且有效吗?