当前位置: 代码迷 >> C# >> sqlite的unrecognized token: "@"异常如何解决
  详细解决方案

sqlite的unrecognized token: "@"异常如何解决

热度:54   发布时间:2016-05-05 04:33:49.0
sqlite的unrecognized token: "@"错误怎么解决?
各位达人:
       今天改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没有这个吧
  相关解决方案