不支持关键字:“版本”
本文关键字:版本 关键字 不支持 | 更新日期: 2023-09-27 17:55:18
我有这个我在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'.
我的问题是:为什么连接在我的 WinForms 项目中有效,而不是在我的 WPF 项目中工作? 处理数据库连接时是否有更改?
另外,请注意,这不是关于参数化查询等的问题。 因此,如果可能的话,请自己发表这些评论。 谢谢。
我遇到的问题是因为我试图创建一个SqlConnection
而不是一个SQLiteConnection
。 做出该更改解决了我的问题。