Votre question

ajout d'un fichier sans une base de donnees sql server sous asp.net en c#

Tags :
  • Pdf
  • Base de données
  • Asp
  • Word
  • Sql
Dernière réponse : dans Programmation
30 Novembre 2014 21:12:03

Salut,
je veux insérer dans ma base de donneés un fichier (word,pdf,txt) en c#
Mais, je ne sais pas comment je peux le faire :j'ai creé ma base de données et j'ai ajouté une ligne de type varchar(Max)
Aidez mou svp ;) 

Autres pages sur : ajout fichier base donnees sql server asp net

1 Décembre 2014 00:31:14

Tu veux insérer le chemin du fichier ? Parce qu'avec du varchar(max), tu ne peux pas stocker des fichiers.
Si tu veux stocker le fichier, c'est avec du binary
m
0
l
1 Décembre 2014 19:41:37

merci pour votre réponse omar,mais je ne sais pas exactement comment je peux procéder pour le faire :/ 
m
0
l
Contenus similaires
3 Décembre 2014 21:28:08

qu'est ce que tu as fait ? Ou est-ce que tu bloques ?
m
0
l
5 Décembre 2014 19:10:16

c'est le code que j'ai fait

  1. con.Open();
  2. SqlCommand cmd = new SqlCommand();
  3. cmd.Parameters.Add(new SqlParameter("@num", txtnum.Text));
  4. string sqlstatement = "Insert into [dbo].[doc].[sql]"+" ([num]"+",[titre],[auteur],[date],[format],[fichier]) values(@num,@titre,@auteur,@date,@format,@fichier";
  5. cmd.CommandType = CommandType.Text;
  6. cmd.CommandText = sqlstatement;
  7. cmd.Connection = con;
  8.  
  9. cmd.Parameters.AddWithValue("@num",txtnum.Text);
  10. cmd.Parameters.AddWithValue("@titre", txttitre.Text);
  11. cmd.Parameters.AddWithValue("@auteur", txtauteur.Text);
  12. cmd.Parameters.AddWithValue("@date", DateTime.Parse(txtdate.Text));
  13. cmd.Parameters.AddWithValue("@format", txtformat.Text);
  14. cmd.Parameters.AddWithValue("@fichier", FileUpload1.FileName);
  15. cmd.Parameters.Clear();
  16.  
  17.  
  18. SqlDataAdapter ad = new SqlDataAdapter(cmd);
  19. DataSet dts = new DataSet();
  20. ad.SelectCommand = cmd;
  21. ad.Fill(dts);


mais en executant la page un erreur s'affiche
System.Data.SqlClient.SqlException: Must declare the scalar variable "@num".

Erreur source:


  1. DataSet dts = new DataSet();
  2. ad.SelectCommand = cmd;
  3. ad.Fill(dts);


j'ai essayé cette méthode aussi :
  1. if (FileUpload1.HasFile)
  2. {
  3. string str = FileUpload1.FileName;
  4. FileUpload1.PostedFile.SaveAs(Server.MapPath("."+"//file//"+str));
  5. string path = "~//file//" + str.ToString();
  6. con.Open();
  7. SqlCommand cmd = new SqlCommand("insert into [dbo].[doc] values (' "+txtnum.Text +"','"+txttitre.Text+"','"+
  8. txtauteur.Text+"','" +DateTime.Parse(txtdate.Text)+"','"+txtformat.Text+ "','"+ path+"')",con);
  9. cmd.ExecuteNonQuery();
  10. con.Close();
  11.  
  12. }
  13. else
  14. Label1.Text = "Veuillez saisir un fichier";
  15. }


mais j'avais un erreur aussi :System.Data.SqlClient.SqlException: Incorrect syntax near '/'
m
0
l
8 Décembre 2014 08:24:47

Tu fais un "cmd.Parameters.Clear();", donc tu supprimes tous les paramètres que tu viens de spécifier...
Et pourquoi utiliser un SqlDataAdapter pour exécuter ta requête ? Surtout mettre une requête INSERT dans une "SelectCommand"...
Tu peux directement faire cmd.ExecuteNonQuery() pour l'exécuter
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS