Problème lors de l'exécution d'une requête SQL

vonbier Messages postés 17 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 20 mars 2013 - 15 oct. 2003 à 15:01
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009 - 9 déc. 2006 à 12:05
Salut,

je débute en C# et j'ai un problème lors de l'exécution d'une requête toute simple sur SQL Server 2000.

Voici mon code
string conn = "server=HECTORBOUKISTAN;database=commande;uid=ASPNET;pwd=pwd";

SqlConnection objConn = new SqlConnection(conn);

// Create an Xml document instance and load XML data.
XmlDocument doc = new XmlDocument();
doc.Load("C:\\Temp\\transfert de commande.xml");

// 1. Select le nom du shop
XmlNode node = doc.SelectSingleNode("//commande/shop");

ListBox1.Items.Add(node.InnerText);
string sql "SELECT IdShop FROM Shop WHERE NomShop '" + node.InnerText + "'";

SqlCommand objCmd = new SqlCommand(sql,objConn);

objCmd.Connection.Open();

SqlDataReader myReader = objCmd.ExecuteReader();

int idShop = (int)myReader[0];

et c'est justement sur la ligne " (string)myReader[0]; " que ca plante.
Voici l'erreur que j'obtiens : " Invalid attempt to read when no data is present" alors que dans l'analyseur de requête c'est bon.
Ca fait un jour que je me casse la tête la-dessus et rien à faire.

Merci d'avance pour votre aide

5 réponses

vonbier Messages postés 17 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 20 mars 2013
15 oct. 2003 à 18:08
Bon voila, j'ai enfin reussi a resoudre mon problème.
0
cs_rifi Messages postés 8 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 15 novembre 2004
21 nov. 2003 à 14:24
Salut,

j'ai le même problème que toi sur la ligne
stIndic = myReader.GetString(0);

comment as tu résolu ton probléme?

merci d'avance.

rif 8-)
0
vonbier Messages postés 17 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 20 mars 2013
24 nov. 2003 à 08:13
Pour finir ce que j'ai fait, c'est que j'utilise non plus un dataReader, mais un "ExecuteNonQuery".
voila en gros à quoi ca doit ressembler:

Pour les commandes delete, update ou insert
SqlConnection conn = "ta Chaine de connection" ;
string requete = "ta Requete" ;

SqlCommande comm = new SqlCommande(requete, conn) ;

comm.ExecuteNonQuery() ;


et pour les autres ou tu veux récupérer qqch:
SqlConnection conn = "ta Chaine de connection" ;
string requete = "ta Requete" ;

DataSet ds = new DataSet("Le nom que tu veux") ;
SqlDataAdapter sda = new SqlDataAdapter(requete, conn) ;

sda.Fill(ds, "NomTable") ; // les noms peuvent être n'importe quoi

// ensuite pour récupérer tu fais 
ds.Tables["NomTable"].Rows[0]["nom de ton champ ou index"].toString() ;


Voila, j'espère que ca t'aidera
0
proffial Messages postés 35 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 23 juillet 2009
8 janv. 2004 à 11:57
Genial,
enfin trouvé ce qu'il me fallait, merci, merci et encore merci.
Comment j'en avais marre de lutter ;)

sinon en derniere ligne, pour récupérer l'info, je l'aurais juste ecris comme cela :

string aux = ds.Tables["NomTable"].Rows[0]["nom de ton champ ou index"].ToString();

C'est un tout petit peux plus parlant ;)

Sinon pour ceux qui utilisent une OleDbConnection a la place d'une SqlConnection,
c'est exactement la meme chose sauf qu'il faut utiliser le OleDbDataAdapter a la place du SqlDataAdapter

Encore merci ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
9 déc. 2006 à 12:05
bonjour;
j'ai ecris mon programme en csharp et comment y inserer les lignes de commandes sql pour importer mes donner vers sql?
0
Rejoignez-nous