begin process at 2010 02 09 15:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Fichier & Disque

 > 

c sharp


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

c sharp

lundi 18 août 2008 à 16:55:55 | c sharp

verbeyst

Le bout de code suivant m'affiche un message erreur que je ne comprends pas
le message est "value cannot be null    parameter name : bytes"
veuillez m'aider

private

void button2_Click( object sender, EventArgs e)

{

string fichARestaurer = "" ;

Byte [] maVarBinaire;

// demande de confirmation

DialogResult réponse = MessageBox .Show( "Voulez-vous vraiment" +

"restaurer le fichier \n " +

listView1.SelectedItems[0].Text,

"Restauration de fichier" , MessageBoxButtons .OKCancel,

MessageBoxIcon .Question);

if (réponse == DialogResult .OK)

{

//appel de la méthode restauration

// choix de l'emplacement

DialogResult réponse2 = MessageBox .Show( "Voulez-vous" +

"restaurer le fichier \n " +

listView1.SelectedItems[0].Text +

"A l'emplacement d'origine?" ,

"Restauration de fichier" , MessageBoxButtons .OKCancel,

MessageBoxIcon .Question);

 

if (réponse2 == DialogResult .OK)

{

fichARestaurer = listView1.SelectedItems[0].SubItems[1].Text;

}

else

{

if (folderBrowserDialog1.ShowDialog() == DialogResult .OK)

{

fichARestaurer = folderBrowserDialog1.SelectedPath.ToString() +

"\\" + listView1.SelectedItems[0].Text;

MessageBox .Show( "fichier a restaurer " + fichARestaurer);

}

}

maVarBinaire =

Restauration .RenvoyerCeFichier(fichARestaurer);

 

 

try

{

File .WriteAllBytes(fichARestaurer, maVarBinaire);

}

catch ( ArgumentNullException exception)

{

MessageBox .Show(exception.Message);

}

catch ( FileNotFoundException exception)

{

MessageBox .Show(exception.Message);

}

catch (System.Security. SecurityException exception)

{

MessageBox .Show(exception.Message);

}

catch ( NotSupportedException exception)

{

MessageBox .Show(exception.Message);

}

catch (System.IO. PathTooLongException exception)

{

MessageBox .Show(exception.Message);

}

catch (System.IO. IOException exception)

{

MessageBox .Show(exception.Message);

}

catch ( UnauthorizedAccessException exception)

{

MessageBox .Show(exception.Message);

}

}

}


Voici le code de la classe Restauration
---------------------------------------


publicclassRestauration

{

publicstaticByte[] RenvoyerCeFichier( string nomCompletFichier)

{

Byte[] fichier = newByte[100];

using (SqlConnection maConnexion = newSqlConnection(BDDetailEvenement.RenvoieConnectionString()))

{

SqlCommand maCommand = newSqlCommand();

try

{

maConnexion.Open();

maCommand.CommandTimeout = 0;

//configuration commande

maCommand.Connection = maConnexion;

maCommand.CommandType =

CommandType.StoredProcedure;

maCommand.CommandText =

"[dbo].[RestaurerLeFichier]";

maCommand.Parameters.Add(

"@NomduFichier", SqlDbType.NVarChar);

maCommand.Prepare();

//initialisation des paramètres

maCommand.Parameters[

"@NomduFichier"].Value = nomCompletFichier;

//exécution ou appel de la procédure paramétrée contenant des requêtes SQL

//maCommand.ExecuteNonQuery();

object tempObject = maCommand.ExecuteScalar();

if (tempObject != null)

{

fichier = (

Byte[])tempObject;

}

else

fichier =

null;

}

catch (InvalidOperationException exception)

{

MessageBox.Show(exception.Message);

}

catch (SqlException exception)

{

MessageBox.Show(exception.Message);

}

catch (Exception exception)

{

MessageBox.Show(exception.Message);

}

return fichier;

}

}

}




verbeyst
lundi 18 août 2008 à 17:19:48 | Re : c sharp

maitredede

Membre Club

Bonjour,

Un peu de politesse ne fait pas de mal (bonjour, s'il vous plait...)

Ensuite, quand tu lances ton programme dans Visual Studio, au moment où Visual Studio attrape l'exception, regarde la valeur de la propriété "StackTrace" de ton exception, et tu verra où est ton erreur. Tu en déduira quel paramètre n'a pas la bonne valeur et tu pourra corriger ton erreur.

@+

lundi 18 août 2008 à 20:37:47 | Re : c sharp

ikaer

Byte est un type valeur et non référence je crois

http://msdn.microsoft.com/fr-fr/library/5bdb6693(VS.80).aspx

ce qui fait qu'il ne peut pas prendre la valeur null comme un typé réference. Enfin je crois
mardi 19 août 2008 à 11:08:35 | Re : c sharp

TeBeCo

Membre Club
Réponse acceptée !
le message est "value cannot be null    parameter name : bytes"
veuillez m'aider

que faut il comprendre ?
un bute vaut null ? et non rien a voir
c'est le nom d'un parametre de fonction qui s'apelle bytes a qui tu passe rien du tout genre une variable non instancier
exemple :

static void toto(montype mavar)
{
   if(mavar == null)
      throw new argumentexeption("Value cannot be null", "tralalatchoum");

   //Traitement normal
}

static main()
{
   montype a;

   toto(a); //argument exception : "value cannot be null"  parameter name : "tralalatchoum"
}

en general on fait corespondre "tralalatchoum" avec le nom de l'argument donc ici on aurai mit "mavar"
donc cherche dans tous tes appel de fonction si t'aurais pas un parametre "bytes" (qui apparteins surment au framework)
je commencerais par regarde du coté de writeallbytes au hasard (non j'ai pas la doc sous les yeux je sais pas si ca a le meme nom)

TeBeCo


Cette discussion est classée dans : message, show, catch, exception, messagebox


Répondre à ce message

Sujets en rapport avec ce message

Exception System.Reflection.TargetInvocationException incompréhensible [ par fcolo ] Bonjour tout le monde,j'ai mon application qui me fait cette exception et je ne comprends pas pkoi.Je ne sais plus ce que j'ai modifié pour avoir cett Redéfinition de mon exception [ par BackPack ] Bonjour à tous,J'ai une petite question. Je sais pas si c'est parce que j'ai pasles yeux en face des trous aujourd'hui mais je n'arrive pas àfaire un Numéro de semaine ... [ par global1 ] Bonjour, je voudrais connaître la fonction pour afficher le numéro de semaine à partir de la date courante en UTC : J'ai essayé :             Messa Comment obliger le catch d'une exception? [ par tominfo ] Salut, Je cherche à savoir comment on indique à une méthode qu'elle est suscpetible de jetter une exception et que l'objet qui l'appelle soit obligé Ajout dans Base de Donnée Impossible [ par Maiku ] BonjourJe developpe actuellement un logiciel de cuisine, en relation avec une base de donnee access dont le modèle logique conceptuel est le suivante Exception [ par babe59 ] Bonjour,j'ai définie une méthode "MethodeA" qui génère des exceptions que j'ai définie  dont voici la description :public<font color="#0000ff" Problème de MessageBox [ par loic20h28 ] Bonjour tout le monde, Voila j'ai un bouton qui me permet d'enregistrer des données dans une base SqlServer.Lorsque je clique sur ce boutton, je souha méthode Main, méthode ou classe prioritaire [ par DaniMelo59 ] Bonjour,est-il possible que le point d'entrée d'un projet C# soit autre que la classe Main() ?j'ai le code suivant :publicclass</font problème avec la methode GetOleDbSchemaTable [ par john2005 ] Salut à tous(tes). j'ai l'erreur suivante quand j'utilise la methode GetOleDbSchemaTable pour recuprer les informations de ma base de données sur pso InvaLidOperationException après envoi de Message par Socket Asynchrone [ par sebkill25 ] Bonjour,Dans une application Client/serveur de messagerie instantannée j'ai les fonctions suivantes permettant la réception d'un message envoyé.Code :


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

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,702 sec (4)

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