Comment faire pour lire et écrire des données BLOB à l'aide de ADO.NET avec Visual C# .NET

Traductions disponibles Traductions disponibles
Numéro d'article: 309158 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Le GetChunk et les méthodes AppendChunk ne sont pas disponibles dans ADO.NET sur colonnes, colonnes DataSet ou paramètres commande DataReader . Cet article explique comment utiliser Visual C# .NET pour lire et écrire des champs d'objets volumineux binaires (BLOB).

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs sont requis :
  • Microsoft Windows 2000 Professionnel, Windows 2000 Server, des Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft SQL Server

Créez le projet

  1. Ajouter une table nommée MyImages à votre base de données SQL Server Les Comptoirs . Inclure les champs suivants dans votre table :
    • Champ d'identité qui est nommé « ID » de type int .
    • Champ nommé « Description » de type VarChar avec une longueur de 50.
    • Champ nommé ImgField de type image .

  2. Démarrez Visual Studio .NET, puis créer un nouveau projet d'application Visual Windows de Visual c#.
  3. Faites glisser deux contrôles de bouton de la boîte à outils vers le formulaire par défaut, Form1.
  4. Dans la fenêtre Propriétés, modifiez la propriété de Bouton1 pour enregistrer à la base de données (à partir d'un fichier) , puis modifiez la propriété de Bouton2 pour enregistrer dans un fichier (de base de données) .
  5. Ajoutez le code suivant en haut de la fenêtre Code :
    using System.Data;
    using System.Data.SqlClient;
    using System.IO;
    					
  6. Double-cliquez sur Button1 et puis ajoutez le code suivant au gestionnaire d'événements Button1_Click .

    note UID < nom utilisateur > devez disposer des autorisations effectuer ces opérations sur la base de données.
    {
    SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
    SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
    SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
    DataSet ds = new DataSet("MyImages");
    
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOrCreate, FileAccess.Read);
    			
    byte[] MyData= new byte[fs.Length];
    fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
    			
    fs.Close();
    			
    da.Fill(ds,"MyImages");
    				
    DataRow myRow;
    myRow=ds.Tables["MyImages"].NewRow();
    
    myRow["Description"] = "This would be description text";
    myRow["imgField"] = MyData;
    ds.Tables["MyImages"].Rows.Add(myRow);
    da.Update(ds, "MyImages");
    
    con.Close();
    		
    }
    					
  7. Double-cliquez sur Bouton2 et puis ajoutez le code suivant au gestionnaire d'événements button2_Click .

    note UID < nom utilisateur > devez disposer des autorisations effectuer ces opérations sur la base de données.
    {
    SqlConnection con = new SqlConnection("Server=Darkover;uid=<username>;pwd=<strong password>;database=northwind");
    SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages", con);
    SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
    DataSet ds = new DataSet("MyImages");
    
    byte[] MyData= new byte[0];
    			
    da.Fill(ds, "MyImages");
    DataRow myRow;
    myRow=ds.Tables["MyImages"].Rows[0];
               
    MyData =  (byte[])myRow["imgField"];
    int ArraySize = new int();
    ArraySize = MyData.GetUpperBound(0); 
    
    FileStream fs = new FileStream(@"C:\winnt\Gone Fishing2.BMP", FileMode.OpenOrCreate, FileAccess.Write);
    fs.Write(MyData, 0,ArraySize);
    fs.Close();
    }
    					
  8. Appuyez sur F5 pour compiler et exécuter l'application.
  9. Cliquez sur Enregistrer pour la base de données (à partir d'un fichier) pour charger l'image, fishing.bmp C:\WinNT\Gone, dans le champ SQL Server l'image .
  10. Cliquez sur Enregistrer pour le fichier (de base de données) pour enregistrer les données à partir du champ SQL Server image revenir à un fichier.

Propriétés

Numéro d'article: 309158 - Dernière mise à jour: mercredi 14 juillet 2004 - Version: 4.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET 1.0
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
Mots-clés : 
kbmt kbhowtomaster kbio kbsqlclient kbsystemdata KB309158 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 309158
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com