gpt4 book ai didi

c# - SQLite 错误提供给 Mono.Data.Sqlite.SqliteStatement.BindParameter 命令的参数不足

转载 作者:IT王子 更新时间:2023-10-29 06:19:31 27 4
gpt4 key购买 nike

我对 MonoDroid 上 SQLite 数据库中的表有一个简单的插入语句。

插入数据库时​​显示

SQLite error Insufficient parameters supplied to the command at Mono.Data.Sqlite.SqliteStatement.BindParameter

我认为要么存在错误,要么错误消息具有误导性。因为我只有 5 个参数而且我提供了 5 个参数,所以我看不出这是对的。

我的代码如下,如有任何帮助,我们将不胜感激。

try
{
using (var connection = new SqliteConnection(ConnectionString))
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandTimeout = 0;
command.CommandText = "INSERT INTO [User] (UserPK ,Name ,Password ,Category ,ContactFK) VALUES ( @UserPK , @Name , @Password , @Category , @ContactFK)";
command.Parameters.Add(new SqliteParameter("@Name", "Has"));
command.Parameters.Add(new SqliteParameter("@Password", "Has"));
command.Parameters.Add(new SqliteParameter("@Cateogry", ""));
command.Parameters.Add(new SqliteParameter("@ContactFK", DBNull.Value));
command.Parameters.Add(new SqliteParameter("@UserPK", DbType.Guid) {Value = Guid.NewGuid()});
var result = command.ExecuteNonQuery();
return = result > 0 ;
}
}
}
catch (Exception exception)
{
LogError(exception);
}

最佳答案

INSERT 语句中 @Category 的拼写与添加的参数不同。你有:

command.Parameters.Add(new SqliteParameter("@Cateogry", ""));
^^^^^^^^^^^
//@Category

它应该在哪里:

将您的声明修改为:

command.Parameters.Add(new SqliteParameter("@Category", ""));

关于c# - SQLite 错误提供给 Mono.Data.Sqlite.SqliteStatement.BindParameter 命令的参数不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16271116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com