J'ai essayé de renvoyer une ligne en exécutant suivant requête SQL dans C#:C# SQL Ajouter un paramètre
SqlCommand cmd = new SqlCommand();
string selectquery = "SELECT TOP (1) [ZVNr] ZVNR_TABLE WHERE [ZVNr] = @zvnr order by [ZVNr] DESC";
cmd.Parameters.AddWithValue("@zvnr", "20170530-01");
cmd.CommandText = selectquery;
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
try
{
sqlConnection.Open();
int recordsAffected = cmd.ExecuteNonQuery();
if(recordsAffected != -1)
{
return 0;
}
else
{
return 1;
}
Et le "ZVNR_TABLE" ressemble à ceci:
ZVNR | varchar (50)
20170530-01
Le résultat est toujours - > recordsAffected = -1
Bien que j'exécute la même requête SQL dans Microsoft SQL Server Management Studio, cela fonctionne.
Vous utilisez une déclaration 'select' dans votre code et utiliser' cmd. ExecuteNonQuery' qui est pour 'INSERT' et ainsi de suite. – jAC