J'ai un petit problème avec la sélection de max ID dans ma base de données. Ceci est mon code:ExecuteScalar renvoyant une valeur erronée
string checkcat = "SELECT MAX(PRODUCT_ID) FROM CMS_PRODUKTY WHERE (CATEGORY_ID = CATEGORY_ID) AND (CLIENT_ID = @CLIENT_ID)";
SqlCommand cmd2 = new SqlCommand(checkcat, con);
cmd2.Parameters.Add("@CATEGORY_ID", System.Data.SqlDbType.Int).Value = kategoria;
cmd2.Parameters.Add("@CLIENT_ID", System.Data.SqlDbType.Int).Value = HiddenField1.Value;
con.Open();
int noweid = Convert.ToInt32(cmd2.ExecuteScalar());
con.Close();
Le point est le nouveau int « noweid » devrait être 1 ou plus - dépendent de l'intérieur product_id table, mais il est de retour 0. Je n'ai aucune idée pourquoi ... La les autres variables - kategoria et HiddenField1.Value sont correctes.
Des idées de quoi ai-je eu tort?
Avez-vous essayé d'exécuter cette requête sur la base de données à l'aide de SQL Server Management Studio et de vérifier qu'elle renvoie 1 ou une valeur supérieure? –
Cela ne résoudra pas votre problème mais vous avez une faute de frappe '(CATEGORY_ID = CATEGORY_ID)' devrait être '(CATEGORY_ID = @CATEGORY_ID)' - notez le '@'. – petelids