Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    11

    Help: Inserire un pdf in un campo di un database

    Ciao a tutti, vorrei il vostro aiuto per ralizzare questo programmino:

    con visual studio devo creare una console application, attraverso la quale ci si possa collegare ad un db. Nel db ho una tabella tab1 con due campi, id(chiave) e file. (db già creato con mysql management studio).
    Devo inserire un pdf (che si trova in c:\documento\nome.pdf) nel campo file della tabella tab1 passandogli la chiave id tramite la console...

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    24
    Ciao
    A che punto sei nella realizzazione di questo programma?
    ti manca solo l'inserimento del pdf (come da titolo del topic) o devi partire da 0?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    11
    ciao, grazie. ci sono riuscito.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    24
    Posta la tua soluzione, spiegandola, in modo che altri che avranno il tuo stesso problema riescano a risolverlo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    11
    Quote Originariamente inviata da lucap.13 Visualizza il messaggio
    Posta la tua soluzione, spiegandola, in modo che altri che avranno il tuo stesso problema riescano a risolverlo.

    int rowsAffected;
    bool controllo = false;


    string queryContr = ("SELECT Id FROM tabella WHERE id = " +id); // hasRows..
    string filepath = (".pdf");

    SqlConnection con = new SqlConnection(Properties.Settings.Default.Connecti onStr);
    SqlCommand cmd = new SqlCommand("UPDATE tabella SET campo=@campo WHERE id= " + id, con);
    FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);

    Byte[] b = new Byte[fs.Length];
    fs.Read(b, 0, b.Length); // legge da filestream e riempie un buffer
    fs.Close();

    SqlParameter p = new SqlParameter("@campo", SqlDbType.VarBinary, b.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, b);
    cmd.Parameters.Add(p);


    // Query di controllo prima della transazione.
    con.Open();
    SqlDataReader reader = new SqlCommand(queryContr, con).ExecuteReader();


    if (reader.HasRows)
    {
    controllo = true;
    con.Close();
    }
    else
    {


    Console.WriteLine("Per id= " + id + " record non presente ");
    Console.ReadKey(true);


    }


    if (controllo) // esegue transazione

    {
    con.Open();
    rowsAffected = cmd.ExecuteNonQuery();
    Console.WriteLine("Pdf inserito RowsAffected:" + rowsAffected);
    con.Close();
    Console.ReadKey(true);
    }

    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.