SQLite错误“提供给命令的参数不足”

时间:2015-11-24 13:52:32

标签: c# sqlite dapper

我遇到了SQLite / Dapper的问题,我收到Insufficient parameters supplied to the command错误。我意识到这个问题被问了很多,但我在互联网上发现的所有答案都指向缺少parametersspelling mistakes,但我在这里看不到任何答案。

我有一个现有的数据库表我试图将信息添加到:

 CREATE TABLE 'Question' (
                        'Id' INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
                        'Text' TEXT NOT NULL ,
                        'CategoryId' INTEGER NOT NULL ,
                        'IsMultipleChoice' BOOL NOT NULL  DEFAULT TRUE,
                        FOREIGN KEY (CategoryId) REFERENCES Category(Id));

我有一个类,表示要添加到database的对象:

class Question
        {
           public int Id { get; set; }
           public string Text { get; set; }
           public int CategoryId;
           public bool IsMultipleChoice { get; set; }
        }

使用Dapper

将类添加到SQLite数据库的方法
public Question Add(Question question)
        {
            using (var conn = BaseDatabase.dbConnection())
            {
                    var sqlQuery = @"INSERT INTO Question (Text, CategoryId, IsMultipleChoice) 
                                     VALUES(@Text, @CategoryId, @IsMultipleChoice); 
                                     SELECT CAST(last_insert_rowid() as int)";
                    var questionId = conn.Query<int>(sqlQuery, question).Single();
                    question.Id = questionId;
                    return question;
            }
        }

我有一个表的方法,其IdName字段完全相同,但只传递一个Name参数,并且工作正常。

0 个答案:

没有答案