gpt4 book ai didi

c# - 提供给SQLite中的INSERT命令的参数不足

转载 作者:行者123 更新时间:2023-12-04 01:39:01 24 4
gpt4 key购买 nike

我正在尝试将程序连接到SQLite数据库,我希望它在用户每次登录时在数据库中添加一行,我正在使用Dapper ORM。

我已经检查了数据库行的名称和User类参数,我尝试将obj和uUser都作为参数发送。
我也曾尝试编写一个简单的测试应用程序,并且相同的命令在此起作用。

public class User
{
// Parameter def
public string stClass;
public string stUsername;
public string LoginDate;
private string stPassword;
}

// Saves the user to the DB
public static void SaveData(Object obj, string stpTableName)
{
// First case (Irrelevant)

case(USERS):
{
User uUser = new User();
uUser = (User)obj;

// Opens and closes the connection to the DB
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
cnn.Execute("insert into Users (stUsername, stClass, LoginDate) values (@stUsername, @stClass, @LoginDate)", uUser);
}
}

}


程序在cnn上失败。执行时提供的参数不足错误。

最佳答案

Dapper喜欢房地产。尝试:

public class User
{
// Parameter def
public string Class {get;set;}
public string Username {get;set;}
public DateTime LoginDate {get;set;}
private string Password {get;set;} // mutters something about "salted hashes"
}
...
cnn.Execute("insert into Users (stUsername, stClass, LoginDate) values (@Username, @Class, @LoginDate)", uUser);


(您不必更改名称...但是我只能在不畏缩的情况下键入 public string stClass {get;set;}

关于c# - 提供给SQLite中的INSERT命令的参数不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56522142/

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