반응형
데이터베이스에서 순위 읽기 및 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
반응형
'codememo' 카테고리의 다른 글
| Excel 파일 다운로드 오류 대응 (0) | 2023.09.10 |
|---|---|
| 복사하지 않고 데이터 프레임을 data.table로 변환 (0) | 2023.09.10 |
| 문자열 값으로 열거형을 정의하는 방법은? (0) | 2023.09.10 |
| mysqdump는 이진 데이터를 안정적으로 처리합니까? (0) | 2023.09.10 |
| 우체부 내선이 응답을 얻지만, 나의 jquery 요청은 그렇지 않습니다. (0) | 2023.09.10 |