begin process at 2012 02 10 09:34:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

SQL Server

 > 

[débutant]souci avec une requetes paramétré


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[débutant]souci avec une requetes paramétré

mercredi 24 octobre 2007 à 11:57:30 | [débutant]souci avec une requetes paramétré

yassineee

Salut , je ne sais pas la syntaxe pour écrire ce genre de requête :
sqlhelper.executeNonquery(connect,CommandType.text,"select nom from salarie where idsalarie="+param1)
NB:sqlhelper est une classe qui marche bien et se connecte avec la base de donnée.
le programme me retourn -1 par contre il faut qu'il me retourne un nom
mercredi 24 octobre 2007 à 12:05:37 | Re : [débutant]souci avec une requetes paramétré

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

d'une : il faut utiliser ExecuteScalar
de deux : http://www.csharpfr.com/tutoriaux/UTILISATION-REQUETES-PARAMETREES-AVEC-ADO-NET_709.aspx


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
mercredi 24 octobre 2007 à 12:17:25 | Re : [débutant]souci avec une requetes paramétré

yassineee

merci ca marche pour un paramétre (int) et vous avez raison  pour la syntaxe mais la je vient d'inverser la requete de la facon suivante mais ca marche pas

string param1="scott"

sqlhelper.executeNonquery(connect,CommandType.text,"select idsalarie from salarie where nom="+param1.Tostring)
mercredi 24 octobre 2007 à 13:25:38 | Re : [débutant]souci avec une requetes paramétré

bidou_01

Bonjour,

Utilise la méthode que Sebmafate donne dans son tutoriel

==>

SqlCommand cmd = new SqlCommand(maConnection);

string sql = "select idsalarie from salarie where nom = @nom"
;
cmd.CommandType = Text;
cmd.CommandText = sql;
DbParameter param = cmd.CreateParameter();
param.ParameterName = "@nom";
param.DbType = DbType.String;
param.Value = "scott";

cmd.Parameters.Add(param);

int idSalarie = -1;

object result = cmd.ExecuteScalar();
if(result != null)
      idSalarie = Convert.ToInt32(result);
   

Cordialement,

Bidou_01
 


[ Lien ]
mercredi 24 octobre 2007 à 16:59:42 | Re : [débutant]souci avec une requetes paramétré

yassineee

ok merci ca marche j'ai d'autre questions si vous permettez :) maintenant avec une base de donnée oracle j'ai fais ca :

 string connect = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string var1 = "nom1";
        OracleConnection con = new OracleConnection(connect);
          //requete 
  con.Open();
 OracleCommand command = new OracleCommand("select idclient  from client where" + " nom = @var1" , con);
 command.Parameters.Add(new OracleParameter("@var1", OracleType.VarChar,100));
        command.Parameters["@var1"].Value = var1.ToString();
        OracleDataReader reader = command.ExecuteReader();
        reader.Read();
        TextBox1.Text = reader[0].ToString();
        reader.Close();
        con.Close();
NB la describtion de la table client est :
idclient:numeric
nom:varcahar2(30)
le compilateur s'arrete dans cette ligne
 OracleDataReader reader = command.ExecuteReader();
et me met l'exception suivante:{"ORA-01036: numéro/nom de variable illégal\n"}
jeudi 25 octobre 2007 à 19:07:08 | Re : [débutant]souci avec une requetes paramétré

bidou_01

Bonsoir,

Par simple curiosité, essaye voir (même si c'est mal !) d'écrire ta requête comme cela :

string connect = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string var1 = "nom1";
        OracleConnection con = new OracleConnection(connect);
          //requete 
  con.Open();
 OracleCommand command = new OracleCommand("select idclient  from client where nom = "+var1.ToString()+"" , con);

        OracleDataReader reader = command.ExecuteReader();
        reader.Read();
        TextBox1.Text = reader[0].ToString();
        reader.Close();
        con.Close();

J'ai déjà eu des problèmes de ce genre , mais jamais trouvé de solution... à part passer par des procédures stockées!

Cordialement,

Bidou_01
 


[ Lien ]
vendredi 26 octobre 2007 à 06:14:49 | Re : [débutant]souci avec une requetes paramétré

sebmafate

Membre Club Administrateur CodeS-SourceS
non non...
ca marche mieux comme cela :

string connect = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        OracleConnection con = new OracleConnection(connect);
          //requete 
  con.Open();
 OracleCommand command = new OracleCommand("select idclient  from client where nom = ?" , con);
 command.Parameters.Add(new OracleParameter("nom", OracleType.VarChar,100));
        command.Parameters["nom"].Value = var1.ToString();
        OracleDataReader reader = command.ExecuteReader();
        reader.Read();
        TextBox1.Text = reader[0].ToString();
        reader.Close();
        con.Close();

Attention : pour oracle les paramètres doivent être créés dans l'ordre de la requête/procédure.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
mardi 10 mars 2009 à 14:04:51 | Re : [débutant]souci avec une requetes paramétré

fraiza

Salut, j'ai une pb d'afficher des donnees de la base ds une fenetre (je travaille avec c# et la base mysql)
j'ai essaye avec ce code mais c ps marché:

" String _champcle = _stockvar.prochain_cod_ot();
            String partie = "substring(" + _champcle + ",locate('/'," + _champcle + ")+1,4)";
            String annee = "substring(" + _champcle + ",locate('/'," + _champcle + ")-2,2)";
            String code = "DI" + " " + " SF" + " " + annee + "/" + partie;
            ArrayList lignes, ligne;
               
                lignes = _db.RetrieveData("select num_di, cod_cca, cod_zone , cod_service , cod_equipement from gm_demande_intervention where num_di='" + code+ "'");
                if (lignes.Count > 0)
                {
                    ligne = (ArrayList)lignes[0];
                    vot.Text = ligne[0].ToString();

                    vcca.Text = ligne[1].ToString();
                    vzone.Text = ligne[2].ToString();
                    vservice.Text = ligne[3].ToString();
                    vmachine.Text = ligne[4].ToString();    }"

la methode
prochain_cod_ot() est une methode ki retourne un code de la forme

OT SF 09/000x
x est incrimental
et je veu afficher les donnees ki correspend à ce code :"DI SF 09/000x"
svp aidez moi.




Cette discussion est classée dans : débutant, souci, requetes, paramétré, sqlhelper


Répondre à ce message

Sujets en rapport avec ce message

[Debutant] Authentification et requetes LDAP [ par adeliz ] (Re) bonsoir tout le monde !Encore et toujours des questions de grand débutant...(grand, grand débutant)...Bon, je suis en galere sur plei openfile et multi select [débutant] [ par ansizak ] Bonjour,Me voilà de nouveau avec le problème suivant;J'ai une fonction openfile avec le multiselect réglé sur true, je peux donc selectionner mes fich PB Requetes Sql parametrées (Access ODBC ) [ par Zaltez ] Split [Débutant] [ par ansizak ] Bonjour,Je tente d'effetuer l'opération pourtant basique suivante:Extraire des chaines de caractères d'un fichier texte comprises entre des ";" et les Tutorial interfaces / librairie graphique [débutant] [ par ansizak ] Bonjour,J'ai commencé à m'adonner au csharp depuis plusieurs mois et je souhaiterais commencer à travailler avec des librairies graphiques afin de réa Affichage en colonnes - ListView, RTB [débutant] [ par ansizak ] Bonjour,Je souhaite trouver un moyen d'afficher dans une richtextbox, listbox ou encore listview 4 colonnes de données.Chaque type de donnée est conte Pb débutant [ par Fo0Zie ] Bonjour à tous,Voici mon problème : Je voudrais que l'utilisateur de mon programme, saississe 5 nombres à la suite, séparés par un espace. Ces 5 nombr Application.DoEvents() [ par Micro ] Bonjour à tous,J'aurais besoin d'un petit coup de main concernant la méthode Application.DoEvents().Je programme en C#sous VS2003 et j'ai un petit sou [Débutant] Dessiner dans une image zoomé [ par Makia ] Bonjour à tous . Je viens de débuter en C# et je souhaiterais développer un petit programme de dessin comme paint. J'utilise GDI+ pour faire mes form [débutant] Passage de données entre deux forms [ par hezar ] Bonjour,Je suis débutant en C# et en programmation en général.Je travaille sur une application Windows Form sous Visual Studio 2008.J'ai une première


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales