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

C#

 > 

Base de données

 > 

ADO.NET

 > 

problème de recuperation de la clé primaire et de conversion .


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

problème de recuperation de la clé primaire et de conversion .

mardi 15 avril 2008 à 10:45:20 | problème de recuperation de la clé primaire et de conversion .

sancho07

DataColumn dcmag = dsMag.Tables["magasin"].Columns["magasin_id"];
                dsMag.Tables["magasin"].Constraints.Add("PRIMARY", dcmag, true);
                int rowindex = dataGridViewMagasin.CurrentRow.Index;

                DataRow drmag = dsMag.Tables["magasin"].Rows.Find(dataGridViewMagasin[0,rowindex]); (ici j'ai une erreur de conversion )
                drmag.Delete();

voici le message d'erreur suite a la ligne en bleue :
L'exception System.InvalidCastException n'a pas été gérée
  Message="Impossible d'effectuer un cast d'un objet de type 'System.Windows.Forms.DataGridViewTextBoxCell' en type 'System.IConvertible'."

 
j'espere que vous aller pouvoir m'aider, merci d'avance.

cordialement

Pierre-Alexandre

-----------------

Technicien Informatique

Développeur Informatique

jeudi 17 avril 2008 à 00:13:49 | Re : problème de recuperation de la clé primaire et de conversion .

olibara

Salut,
Tu as essayé :

dataGridViewMagasin[0,rowindex].ToString()

??
jeudi 17 avril 2008 à 00:13:50 | Re : problème de recuperation de la clé primaire et de conversion .

olibara

Salut,
Tu as essayé :

dataGridViewMagasin[0,rowindex].ToString()

??
jeudi 17 avril 2008 à 08:45:33 | Re : problème de recuperation de la clé primaire et de conversion .

sancho07

Réponse acceptée !
j'ai tout modifié mon code en mettant directement la requete comme ci-dessous :

string requete = "DELETE FROM magasin WHERE magasin_id=" + dataGridViewMagasin.Rows[rowindex].Cells[0].Value + " ";
                macommande = new MySqlCommand(requete, FormLogin.maconnection);
                macommande.ExecuteNonQuery();


et cela fonctionne .

Pierre-Alexandre

-----------------

Technicien Informatique

Développeur Informatique

samedi 19 avril 2008 à 17:18:57 | Re : problème de recuperation de la clé primaire et de conversion .

coq

Administrateur CodeS-SourceS
Salut,

Sinon les requêtes paramétrées c'est cool, histoire de minimiser les risques d'injection SQL.



/*
coq
MVP Visual C#
CoqBlog
*/
samedi 19 avril 2008 à 17:58:56 | Re : problème de recuperation de la clé primaire et de conversion .

olibara

Salut coq

Et bien justement, je viens de me taper une requete "a la main" car je n'ai pas encore bien saisi le cheminement d'une requete parametrée qui me semble vu certains exemples encore plus complexe que la requete "a la main"


        string xCmd = "INSERT INTO ritstat (orde,date,time,addrID,Scan_Num,capaciteit,vol,Gewicht,dag,chauffeur) "
                    +" VALUES ("
                    + dr["Order1"].ToString()
                    +"," +dr["Datum"].ToString()
                    +",'" + dr["Uur"].ToString()+"'"
                    +"," + addrID
                    +"," + ScanNum
                    +"," + capa
                    +"," + vol
                    +"," + dr["Gewicht"].ToString()
                    +"," + dr["dag"].ToString()
                    +",'"+dr["chauffeur"].ToString()+"')";

        MySqlCommand cmd = new MySqlCommand(xCmd, MyConn.conn);
        try
        {
          int nUpd = cmd.ExecuteNonQuery();
        }
        catch (MySqlException e)
        {
          StreamWriter sw = new StreamWriter(archievPath + "duplicate.txt", true);
          MessageBox.Show(e.Message);
          sw.WriteLine("{0}\tline {1}\t{2}", curFile,numRec, e.Message);
          sw.Close();
          continue;

samedi 19 avril 2008 à 18:34:29 | Re : problème de recuperation de la clé primaire et de conversion .

coq

Administrateur CodeS-SourceS
Réponse acceptée !
De mémoire/direct dans la zone de saisie ça donnerais

string xCmd = "INSERT INTO ritstat (orde,date,time,addrID,Scan_Num,capaciteit,vol,Gewicht,dag,chauffeur) VALUES (?orde, ?date, ?time, ?addrID, ?Scan_Num, ?capaciteit, ?vol, ?Gewicht, ?dag, ?chauffeur)";
...
cmd.Parameters.AddWithValue("?orde", dr["Order1"].ToString());
...

Plus complexe ?
Moi je trouve ça plus lisible, donc plus maintenable, sans parler de l'aspect sécurité.


/*
coq
MVP Visual C#
CoqBlog
*/
samedi 19 avril 2008 à 18:38:04 | Re : problème de recuperation de la clé primaire et de conversion .

coq

Administrateur CodeS-SourceS
Sans parler aussi du fait que du coup on peut laisser le provider se débrouiller avec les DateTime pour la paramètres date, time etc afin qu'ils soient formatés correctement pour le type des colonnes.



/*
coq
MVP Visual C#
CoqBlog
*/
samedi 19 avril 2008 à 19:30:25 | Re : problème de recuperation de la clé primaire et de conversion .

olibara

Merci Coq !

Allez ! tu m'encourage je vais essayer

Mais je crois aussi que suivant les languages, le ? peut etre un @ ou je ne sais quoi encore, je vais vérifier pour csharp

 

 

samedi 19 avril 2008 à 19:36:45 | Re : problème de recuperation de la clé primaire et de conversion .

coq

Administrateur CodeS-SourceS
Ce n'est pas lié au langage client mais plus au provider/serveur SQL.
Il y a aussi des providers qui ne supportent pas les paramètres nommés, comme avec ODBC par exemple avec lequel on ne peut utiliser que les paramètres par position.


/*
coq
MVP Visual C#
CoqBlog
*/


Cette discussion est classée dans : system, conversion, tables, magasin, dsmag


Répondre à ce message

Sujets en rapport avec ce message

Probleme après conversion de Visual Studio 2003 à 2005 [ par EvilDef ] Je ne peux pas voir le fenetre après la conversion de mon logiciel sous VS2005, j'obtient le message : <td style="VERTICAL-ALIGN: top; LETTER-S Appli qui tourne normal sur Visual Studio 2005, et plante quand je lance l'exe seul [ par duteux ] Bonjour à tous, J'ai ecrit une application Windows en C# qui parcour les fichiers *.eml pour en extraire toutes les adresses mails présentes. Quand Conversion string[,] depuis System.Array [ par el_teedee ] Bonjour, tout est dans le titre, je récupère un System.Array qui, par exemple est un tableau de string [5,3] : [1,1] [1,2][1,3]... [5,1] [5,2] [5,3] probleme SerialPort et Conversion [ par getthematrix ] Bonjour à tous, Pour info, je débute en C#. Voici mon problème : Via le port COM je reçois des trames du type : 0x30 0x5C 0x30 0x0F 0x5D 0x99 0x34 String en System.Drawing.Color :: Conversion [ par juliendemomaker ] Hello !Bon comme le dit le titre je recherche à convertir un String en System.Drawing.Color...En faîte je cherche à charger depuis un fichier de confi Equivalent ContextMenuStrip en .NET 1.1 ? [ par fcolo ] Bonjour tout le monde, J'ai réalisé une application sous VS2005 donc compilée en .NET 2.0.Or, je voudrais la compiler en .NET 1.1 pour des raison de p Boite de dialogue [ par Pepin21 ] Bonjour,J'ai une question vraiment très bête, mais je ne mis connais pas encore bien. Voilà : je voudrais utiliser une boite de dialogue MessageBox da Access + C# [ par eddy69270 ] Bonjour,je bosse sur une base access d'où je prend des données pour remplir mes différents DataGrid : private void Remplit connection OleDb et Oracle [ par atmeitsatme ] Bonjour,J'utilise dans un web service un acces à ma base de données Oracle via les objets OleDB.Mon code :     [WebMethod]    public int test()    {   conversion [ par 24 ans ] j'ai une chaine qui contient une date exemplestring dt="2006/03/14"comment est ce que je peux la convertir  en type date


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,420 sec (3)

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