Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

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

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
Pour une version de Microsoft Visual Basic .NET de cet article, voir 308042.
Pour une version de Visual J# .NET de cet article, voir 320629.

Cet article fait référence à l'espaces de noms bibliothèque de classes Microsoft .NET Framework suivants :
  • System.Data.SqlClient
  • System.IO

DE CETTE TÂCHE

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).

back to the top

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
back to the top

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.
back to the top

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 309158 - Dernière mise à jour : 07/14/2004 18:58:19 - Révision : 4.3

Microsoft ADO.NET 1.1, Microsoft ADO.NET 1.0, Microsoft Visual C# .NET 2003 Initiation, Microsoft Visual C# .NET 2002 Initiation

  • kbmt kbhowtomaster kbio kbsqlclient kbsystemdata KB309158 KbMtfr
Commentaires
/html>