6

私はVS2010でWinFormsプロジェクトとして書いたこのプロジェクトを持っています。私はVS2012でWPFプロジェクトとして書いていません。参照されている DLL ( DailyReport) があります。内部DailyReportには と呼ばれるメソッドがありGetUniqueDates()ます。次のようになります。

    public List<string> GetUniquesDates()
    {
        var dates = new List<string>();

        const string query = "SELECT date FROM hdd_local_data_v1_2";

        try
        {
            // Exception here  on the connection creation
            using (var connection = new SqlConnection(ConnectionStringFile)) 
            {
                using (var command = new SqlCommand(query, connection))
                {
                    connection.Open();

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            for (var i = 0; i < reader.FieldCount; i++)
                            {
                                dates.Add(reader.GetValue(i).ToString());
                            }
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {         
            Logger.Error(ex.Message);
        }

        dates.Sort();

        return dates.Distinct().ToList();
    }

ConnectionStringFileコンストラクターで設定され、次のようになります。

ConnectionStringFile = @"Data Source=C:\hdd_data\Rubicon.hdd;Version=3;New=False;Compress=True;";

さて、私の VS2010 WinForms プロジェクトでは、この方法は問題なく機能しました。ただし、VS2012 WPF プロジェクトでは、上記の例外が発生します。例外は次のとおりです。

keyword not supported 'version'.

データベースは SQLite データベースです。キーワードを削除しようとしましたversionが、例外が発生します。

keyword not supported 'new'.

私の質問は: WPF プロジェクトではなく、WinForms プロジェクトで接続が機能するのはなぜですか? データベース接続を扱う際に変更されたことはありますか?

また、これはパラメータ化されたクエリなどに関する質問ではないことに注意してください。したがって、可能であれば、それらのコメントを自分自身にお願いします。ありがとうございました。

4

1 に答える 1

14

私が抱えていた問題は、 のSqlConnection代わりにを作成しようとしていたためSQLiteConnectionです。その変更を行うことで私の問題は解決しました。

于 2013-01-22T21:25:07.680 に答える