J'ai une chaîne d'élémentsID, et je veux que le gridview utilise ce paramètre et récupère-moi le reste des détails de la table item. Le problème que je pense est itemIDs est au format varchar et le db itemID est au format int. À cause de cela lorsque la page gridview qui affiche les détails de l'élément charges je reçois l'erreur suivante. Eh bien, je pense que c'est la cause de l'erreur, corrigez-moi si je me trompe!convertir une valeur de chaîne à int lors de la vérification avec le db en C#
Conversion failed when converting the varchar value ' + itemIDs + ' to data type int.
la requête SQL utilisée est la suivante:
SELECT ItemID, Name, RelDate, Price, Status FROM item_k WHERE (ItemID IN (' + itemIDs + '))
chaîne de itemID contient des valeurs comme "3,16,8"
comment puis-je le convertir au format int? et où placer la conversion? dans la déclaration SQL?
grâce
// modifier 2
ArrayList tmpArrayList = new ArrayList();
tmpArrayList = (ArrayList)Session["array"];
string itemIDs = string.Empty;
foreach (object itemID in tmpArrayList)
{
itemIDs += itemID.ToString() + ',';
}
itemIDs = itemIDs.Substring(0, itemIDs.Length - 1);
est-il un moyen simple de résoudre ce problème?
Oui, cela fonctionnera bien. Pas de citation autour de 3,16,8. MAIS la chaîne itemIDs peut avoir plus de trois valeurs spécifiques et parfois null.Dans ce cas, comment doit-il être fait? merci – pier
Section ajoutée pour adresser les valeurs nulles –