我有一个在VS2010中编写的WinForms项目,现在我想在VS2012中将其转换成WPF项目。我引用了一个名为DailyReport
的DLL文件,在其中有一个叫做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'.
我的问题是:为什么连接在我的WinForms项目中可以工作,而在我的WPF项目中却不能?在处理数据库连接时是否有什么变化?
另外,请注意,这不是关于参数查询之类的问题。如果可能,请将这些评论留给自己。谢谢。