begin process at 2010 02 10 07:42:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Compression, Split et Cryptage

 > 

PB avec subsstring


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

PB avec subsstring

vendredi 19 juin 2009 à 09:39:21 | PB avec subsstring

avatar69

Bonjour,
je suis programmeur en PHP, PERL et je dois modifier un prog fait par un collegue en C# et la ca me fait tourner la tete !!!!!

J'ai la fonction substrings qui ne marche pas ca me fait une erreur suivante

Erreur 1 'object' ne contient pas une définition pour 'Substring' et aucune méthode d'extension 'Substring' acceptant un premier argument de type 'object' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?) C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2008\Projects\FeelImpClients\FeelImpClients\Form1.cs 63 39 FeelImpClients

J'ai besoin de faire du LEFT et du RIGHT sinon, quel est la meilleur solution ?
j'ai pas l'impression qu'on puisse faire du RIGHT avec substring mais que du LEFT ?

Voici mon script

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.IO;

namespace FeelImpClients
{
    public partial class Form1 : Form
    {
        string strAppPath = Directory.GetCurrentDirectory();
       
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
          
        }

        private void button2_Click(object sender, EventArgs e)
        {

            string sqlstr;
            SqlDataReader rdr;
            // Ouverture de la connection SQL

            //string connectString = "database=FEELMUSIC;server=192.168.150.2;User ID=SageUpdate;pwd=bigchief";
            string connectString = "database=DISTRINEP;server=192.168.100.118;User ID=<Administrateur>;pwd=jpac";
            // Objet connection
            SqlConnection connection = new SqlConnection(connectString);
            // Ouverture
            connection.Open();


                sqlstr = "select * from F_COMPTET";
                SqlCommand oCmd2 = new SqlCommand(sqlstr, connection);
                rdr = oCmd2.ExecuteReader();

                Console.WriteLine("Répertoire d'exécution : " + Environment.CurrentDirectory);
                FileStream fchSortie = new FileStream("EXPORT CLIENT VB.TXT", FileMode.Create);
                StreamWriter flux = new StreamWriter(fchSortie, ASCIIEncoding.Default);
                Object[] row = null;
               
                while (rdr.Read())
                {
                    row = new Object[rdr.FieldCount];
                    rdr.GetValues(row);
                    row[96] = "             " + row[96];
                    row[96] = row[96].Substring(2, 5);
                    flux.Write(row[96]);
                    flux.Write(";");
                    flux.WriteLine();
                    // Console.WriteLine("ca avance !!!");
                }

                rdr.Close();

        }
   }
}

Merci pour votre aide
Thierry

vendredi 19 juin 2009 à 09:58:13 | Re : PB avec subsstring

ed73

Réponse acceptée !

Bonjour,

Substring est une méthode de String donc row[96] étant de type Object il est normal que le compilateur te donne une erreur quand tu fais row[96].substring(2,5)

Left : str.Substring(0,5); // 5 premiers caractères
Right : str.Substring(str.Length - 5,5); // 5 dernier caractères

 

vendredi 19 juin 2009 à 10:20:07 | Re : PB avec subsstring

krimog

Réponse acceptée !
L'erreur me semble parler d'elle-même. Comme le dit ed73, la méthode Substring n'existe pas pour un object (et encore heureux, car toute classe hérite de object, et j'imagine mal ce que serait censé faire un code du genre "maVoiture.Substring()").

De plus, quand Intellisense (le système de saisie semi-automatique de Visual Studio) te propose une liste qui ne contient pas ce que tu cherches, tu as 99% de chances que ce ne soit pas valide de l'écrire.

Substring n'existe que dans la classe string. Donc il faut d'abord récupérer un string.

3 méthodes :
Si c'est un objet non null de n'importe quelle classe, tu peux faire monObjet.ToString();
Si c'est réellement un string, tu peux faire (string)monObjet. Si monObjet n'est pas un string => Exception
Tu peux également faire monObjet as string. Si monObjet n'est pas un string, ça renverra null.

Donc dans ton code : row[96].ToString().Substring(2, 5);

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
vendredi 19 juin 2009 à 15:25:39 | Re : PB avec subsstring

avatar69

Merci pour vos réponses ca ma permi d'avancé un peu.
Mais la logique est completement differente de ce que j'ai l'habitude de f aire..... je m'en voie un peu pour un script qui aurais du me prendre meme pas 10 minutes..

Merci
vendredi 19 juin 2009 à 15:45:21 | Re : PB avec subsstring

krimog

Logique complètement différente ??

Tu fais du PHP non ?
$monObjet.MaMethodeQuiNExistePasPourLaClasseDeMonObjet();
ça te génère pas une erreur (par hasard) ?

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
vendredi 19 juin 2009 à 19:13:27 | Re : PB avec subsstring

avatar69

Non ca j'ai jamais fait en PHP, je programme en PHP3 ca sa doit etre du PHP5

++

Thierry


Cette discussion est classée dans : system, using, row, object, rdr


Répondre à ce message

Sujets en rapport avec ce message

acces a un espace membre par verification bd access [ par angelz ] bonjour a tous,je debute en c# et je dois avouer que g un pe de mal lolen fait mon beau pere (fait chier celui la lol) m a demander de lui faire un pr Probleme OleDbDataReader [ par bibibiba ] Bonjour,je suis novice en C# et j'ai une classe BaseAccess qui doit permettre de lire les données d'un utilisateur contenues dans une base,pour ce fai Fermer la fenetre de sortie ou fermer l'application [ par avatar69 ] Bonjour,j'ai reussi (grace a l'aide de certain ici) a faire mon script et il fonctionne !!!Juste une derniere chose ;)Comment fait t-on pour fermer un PB sur requete Select [ par avatar69 ] Bonjour, j'ai un petit souci avec une requete a ce niveau la a mon avis "where AR_Ref = row[20]" je pense qu'il ne comprend pas le = row[20] mais je v quel using system utiliser pour inputeventargs? [ par shoshetnono ] [^^confus2]bonjour, est ce ke vous savez kel using system utiliser en c# pour ecrire une fonction du style public delegate void TransferInputHandller [C#] Inversion de Nombre (Débutant) [ par momos73 ] Bonjour, Je commence totalement à programmer en C# et je n'ai donc aucune connaissance dans ce language. Je dois faire un programme en mode console co problème d'affichage d'une datagrid [ par wtmlife ] Bonjour, Je suis débutante en csharp et je travail avec visual web developer 2008 mon problème est que je n'arrive pas à afficher un datagrid sachant


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,203 sec (3)

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