gpt4 book ai didi

c# - 使用datagridview更新数据库中的数据

转载 作者:行者123 更新时间:2023-11-30 22:20:46 24 4
gpt4 key购买 nike

我有这样的代码:

public int updateFriend(long id, string Firstname, string Lastname, string Nickname, DateTime Birthdate, int Age, string Gender)
{
OleDbConnection con = new OleDbConnection(conString());

string query = "UPDATE FriendList SET Firstname ='" + Firstname + "', Lastname ='" + Lastname + "',Nickname ='" + Nickname + "',Birthday ='" + Birthdate + "',Age ='" + Age + "', Gender ='" + Gender + "' WHERE ID = " + id;

OleDbCommand cmd = new OleDbCommand(query, con);

con.Open();

int rowsAffected = cmd.ExecuteNonQuery();
con.Close();

return (rowsAffected);
}

现在的问题是,当我单击更新按钮时,它会调用方法 updateFriend,然后在行 "int rowsAffected = cmd.ExecuteNonQuery(); 上出现错误"说

"No value given for one or more required parameters."

有人可以帮我解决这个问题吗?

最佳答案

string query = "UPDATE FriendList SET Firstname  ='" + Firstname + "', Lastname ='" + Lastname + "',Nickname ='" + Nickname + "',Birthday ='" + Birthdate + "',Age ='" + Age + "', Gender  ='" + Gender + "' WHERE ID = " + id;

您将所有参数作为字符串传递,其中一些是 int,一个是 DateTime。根据建议,您应该使用 Parameters.AddWithValue()

string query = "UPDATE FriendList SET Firstname = @Firstname, Lastname = @Lastname , Nickname = @Nickname, Birthday = @Birthdate, Age = @Age, Gender = @Gender WHERE ID = @id";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@Firstname", FirstName);
//add rest parameters the same way as above
cmd.Parameters.AddWithValue("@id", id);

关于c# - 使用datagridview更新数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814271/

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