1
刚刚接触编程和C#。我有一个程序读取RFID标签并将数据保存在MariaDb数据库中,但是随时关闭应用程序并重新启动时,排名也从1重新开始。而我希望我的代码读取数据库,选择最高排名,然后启动递增。从数据库读取等级并在C上增加它#
public void AddEnregistrement_local(Enregistrement enregistrement)
{
Int32 max_rang = 0;
try
{
// Ouverture de la connexion SQL
// Création d'une commande SQL en fonction de l'objet connection
MySqlCommand cmd_local = this.connection_local.CreateCommand();
cmd_local.CommandText = @"SELECT rang_tra FROM traverser_essai WHERE rang_tra = (SELECT MAX(rang_tra) FROM traverser_essai)";
{
{
this.connection_local.Open();
max_rang = Convert.ToInt32(cmd_local.ExecuteScalar());
max_rang++;
// Requête SQL
cmd_local.CommandText = @"INSERT INTO traverser_essai (code_cse, code_ppa, code_crr, temps_tra, rang_tra) VALUES (@code_cse, @code_ppa, @code_crr, @temps_tra, @max_rang)";
// utilisation de l'objet enregistrement passé en paramètre
cmd_local.Parameters.AddWithValue("@code_cse", enregistrement.code_cse);
cmd_local.Parameters.AddWithValue("@code_ppa", enregistrement.code_ppa);
cmd_local.Parameters.AddWithValue("@code_crr", enregistrement.code_crr);
cmd_local.Parameters.AddWithValue("@temps_tra", enregistrement.temps_tra);
cmd_local.Parameters.AddWithValue("@max_rang", enregistrement.max_rang);
// Exécution de la commande SQL
cmd_local.ExecuteNonQuery();
// Fermeture de la connexion
this.connection_local.Close();
}
}
}
catch
{
}
}
我想你使用了错误的变量这里'cmd_local.Parameters.AddWithValue( “@ max_rang”,enregistrement.max_rang)'你不应该使用'cmd_local.Parameters.AddWithValue( “@ max_rang”,max_rang)'代替? – dbraillon
哦,是啊!只是改变它,它的工作。非常感谢@dbraillon –
不客气,我只是发布了答案,所以你可以接受它。 – dbraillon