您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,了解插入时使用的正确语法



如何解决问题?

public DataAccessResponse InsertPlayer(Players NewPlayer)
{
try
{
DataBaseCommand com = new DataBaseCommand();
com.SetCommand("insert into players (firstname,lastname,birthdate,position,age,weight,height,teamid) values ('" +
NewPlayer.FirstName + "', '" + NewPlayer.LastName + "', '" + NewPlayer.BirthDate.ToString("yyyy-MM-dd") + "'),'" +
NewPlayer.Position + "', '" + NewPlayer.Age + "', '" + NewPlayer.Weight + "', '" + NewPlayer.Height + "', '" +
NewPlayer.TeamID + "')");
com.OpenConnection();
com.ExecuteNonQuery();
com.CloseConnection();
return new DataAccessResponse(true, null);
}
catch (Exception ex)
{
return new DataAccessResponse(false, ex.Message);
}
}
  1. 安装Dapper
  2. 编写如下代码:
using(var c = new MySqlConnection("your connection string here")
c.Execute(
@"insert into players (firstname,lastname,birthdate,position,age,weight,height,teamid) 
values (@FirstName,@LastName,@BirthDate,@Position,@Age,@Weight,@Height,@TeamID)", 
NewPlayer
);

或者,如果你额外安装Dapper Contrib,那么插入会变得更容易:

c.Insert(NewPlayer);

如果列/表名称和属性/类名不同,则可以使用属性来映射它们。请参阅此处https://dotnetcoretutorials.com/2019/08/05/dapper-in-net-core-part-4-dapper-contrib/

相关内容

最新更新