codememo

데이터베이스에서 순위 읽기 및 C#에서 증분하기

tipmemo 2023. 9. 10. 12:17
반응형

데이터베이스에서 순위 읽기 및 C#에서 증분하기

프로그래밍과 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)대신.

언급URL : https://stackoverflow.com/questions/42551361/read-rank-from-database-and-increment-it-on-c-sharp

반응형