C# et sql server 2008(inserer fichier)

Fermé
houba80 Messages postés 49 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 15 juillet 2011 - 4 avril 2010 à 14:22
salut, sa fait longtemps que j'essaye d'inserer un fichier word ou excel dans ma base sql server 2008 avec une application c#.
voici les étapes que j'ai fait, un openfiledialog liée a un boutton

Code C# :

private string SelectFile(string initialDirectory, string fich)
{
dialog.Multiselect = true;
//les fichier autorisé à télécharger
dialog.Filter = fich;
dialog.InitialDirectory = initialDirectory;
dialog.Title = "Selectionnez un document";
myfichier = dialog.FileName;
return (dialog.ShowDialog() == DialogResult.OK)
? dialog.FileName : null;
}



après j'ai une méthode dans ma classe Document qui a pour rôle normalement d'inserer le fichier

Code C# :

public void ajouteDocument(Document mydocument)
{

string reqSQL = "SELECT NEWID()";

string Guidsql = Connexion.ExecuteReq_top(reqSQL);

SqlCommand command = new SqlCommand("INSERT INTO document (ID_doc, nom_doc, description, extension, date, ID_doss, ID_utilisateur, doc)VALUES ( '" + Guidsql + "' , '" + mydocument.nom_doc + "', '" + mydocument.description + "','" + mydocument.extension + "', " + mydocument.date_publication + ", '" + mydocument.code_doss + "','" + mydocument.user + "', @img_data)", CnxBase.myConn);

SqlParameter param0 = new SqlParameter("@img_data", SqlDbType.VarBinary);

FileStream stream = new FileStream(mydocument.description, FileMode.Open, FileAccess.Read);

BinaryReader reader = new BinaryReader(stream);

param0.Value = reader.ReadBytes((int)stream.Length);

command.Parameters.Add(param0);

reader.Close();

stream.Close();

command.ExecuteNonQuery();

}



et voila je me suis bloqué ici, si quelqu'un peut m'aider svp

A voir également: