c# - 从数据库中读取排名并在 C# 上递增

标签 c# mysql mariadb

我是编程和 C# 的新手。我有一个读取 RFID 标签并将数据保存在 MariaDb 数据库中的程序,但是每当我关闭应用程序并重新启动时,等级也会从 1 重新启动。我希望我的代码读取数据库,选择最大等级然后开始递增。

        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) 代替。

关于c# - 从数据库中读取排名并在 C# 上递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42551361/

相关文章:

mysql - 将复杂的 count() 查询结果插入表中

c# - View 中的 2 个按钮在 asp.net mvc 中执行不同的操作

c# - 使用 Process.Start 打印文档而不显示 Word

c# - C#中的递归和返回日期

c# - 从使用C#中的错误代码页中恢复

c# - 使用 C# 和 MySQL 插入到两个表中

php - CakePHP 1.3 : Speeding up ACL-enabled application load time

mysql - 选择连续记录数

php - 如何将行值匹配为同级结果中参数的变量?

mysql - MariaDB 10.0.20 服务器上的 Ruby on Rails 外键迁移不适用