各位达人:
今天改access为sqlite时出现了一个错误,不知道怎么解决,请各位帮忙看看。
public static int insert(Model.EbookDataModel p)
{
string sql = "insert into 小说数据(中文字段名1,中文字段名2,中文字段名3)values(?,?,?)";
SQLiteParameter[] parameters = new SQLiteParameter[3];
parameters[0] = new SQLiteParameter("@中文字段名1", DbType.String);
parameters[0].Value=p.A中文字段名1;
parameters[1] = new SQLiteParameter("@中文字段名2", DbType.Date);
parameters[1].Value=p.A中文字段名2;
parameters[2] = new SQLiteParameter("@中文字段名3", DbType.Int32);
parameters[2].Value=p.A中文字段名3;
return SqliteDBUtil.ExecuteInsert(sql,parameters);
}
ExecuteInsert 函数定义如下
public static int ExecuteInsert(string sql,SQLiteParameter[] parameters)
{
//Debug.WriteLine(sql);
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
SQLiteCommand cmd = new SQLiteCommand(sql, connection);
try
{
connection.Open();
if(parameters!=null) cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
cmd.CommandText = @"select @@identity";
int value = Int32.Parse(cmd.ExecuteScalar().ToString());
return value;
}
catch (Exception e)
{
throw e;
}
}
}
结果是提示错误:unrecognized token: "@"
问题是:插入数据成功了
为什么?怎么解决?是字段名中文的缘故,还是别的?
------解决思路----------------------
cmd.CommandText = @"select @@identity"; SQLITE没有这个吧