Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11

    Visual c# esportare database

    Ciao a tutti vi ringrazio per il lavoro che fate e per l'utilità del forum.
    Ora passo ad elencavi il mio problema
    Ho creato un windows form con visual strudio 2005 con compilatore c#
    il form è collegato a un database con 2 tabelle che hanno relazione tra loro, il mio problema è creare un pulsante evento che esporti il database e mi permetta di salvarlo dove voglio
    e un altro pulsante che mi permetta di importarlo
    Vi ringrazio subito per la disponibiita

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11
    nessuno ha la piu vaga idea?

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Forse postando nel forum per i linguaggi .NET....


    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11
    ops scusate...
    Cmq ho avuto un idea potrei fare un pulsante che genera un evento di copia del database dalla cartella dove si trova il programma ma il problema è che il database come il resto dei file viene copiato nella cartella del nome utente ..vi prego datemi qualche consiglio

  5. #5
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071

    Re: Visual c# esportare database

    Originariamente inviato da enoyr
    Ciao a tutti vi ringrazio per il lavoro che fate e per l'utilità del forum.
    Ora passo ad elencavi il mio problema
    Ho creato un windows form con visual strudio 2005 con compilatore c#
    il form è collegato a un database con 2 tabelle che hanno relazione tra loro, il mio problema è creare un pulsante evento che esporti il database e mi permetta di salvarlo dove voglio
    e un altro pulsante che mi permetta di importarlo
    Vi ringrazio subito per la disponibiita
    Per esportarli potresti fare così:
    Visualizzi i dati in un report, dunque usi il reportViewer che ti da la possibilità di esoprtare il report che visualizzi (senza scrivere una riga di codice nè niente) in formato pdf e xls...

    Per importarli... da dove li devi importare???
    Beh, in ogni caso potresti (o forse dovresti):
    - Aprire il file che contiene i tuoi dati;
    - Leggere i dati;
    - Memorizzarli in un datasource;
    - Scriverli su db con una query o una procedura (vedi tu)....

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11
    Ciao in pratica devo creare due pulsanti nel mio form
    1 esporta cioe effettua una copia del mio database (file sql server) e mi permette di salvarlo con nome dove voglio
    2) importa mi fa scegliere tramite una finestra il file da aprire (file sqlserver) e mi permette di sostituire cosi il databse

    il mio database ha due tabelle se puo servire

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11
    mi potreste fare un esempio di codice perche non so proprio che pesci prendere

  8. #8
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Originariamente inviato da enoyr
    mi potreste fare un esempio di codice perche non so proprio che pesci prendere
    Nella toolbox, ci sono l'OpenFileDialog e il SaveFileDialog.... Non li ho mai usati... studiati un pò le proprietà...

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    11
    ciao conosco un po openfiledialog e savefiledialog il mio problema è scrivere al savefiledialog di creare una copia del database ..ora ti posto il mio codice

    il problema è alla fine del listato


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Web.Mail;
    using System.IO;
    using System.Data.SqlClient;
    using Microsoft.SqlServer.Management.Smo;
    using Microsoft.SqlServer.Management.Common;

    namespace Sargassi_2.__GufSoft
    {
    public partial class Form1 : Form
    {
    private static Server srvSql;
    public Form1()
    {
    InitializeComponent();
    }

    private void clientiBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {// Display a MsgBox asking the user to save changes or abort.

    if (MessageBox.Show("Sei sicuro di voler salvare? ", "Attenzione",MessageBoxButtons.YesNo) == DialogResult.Yes)
    {


    try
    {
    this.Validate();
    this.clientiBindingSource.EndEdit();
    this.clientiTableAdapter.Update(this._database_Sar gassi_1_0DataSet.Clienti);
    this.trattamentiBindingSource.EndEdit();
    this.trattamentiTableAdapter.Update(this._database _Sargassi_1_0DataSet.Trattamenti);
    MessageBox.Show("Salvataggio effettuato","Salva");
    }
    catch (System.Exception ex)
    {
    MessageBox.Show("Salvataggio fallito","Salva");
    }



    }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Trattamenti'. È possibile spostarla o rimuoverla se necessario.
    this.trattamentiTableAdapter.Fill(this._database_S argassi_1_0DataSet.Trattamenti);
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Clienti'. È possibile spostarla o rimuoverla se necessario.
    this.clientiTableAdapter.Fill(this._database_Sarga ssi_1_0DataSet.Clienti);

    }

    private void fillByToolStripButton_Click(object sender, EventArgs e)
    {
    try
    {
    this.clientiTableAdapter.FillBy(this._database_Sar gassi_1_0DataSet.Clienti, param1ToolStripTextBox.Text);
    MessageBox.Show("Ricerca effettuata","Ricerca");
    }
    catch (System.Exception ex)
    {
    System.Windows.Forms.MessageBox.Show(ex.Message);
    MessageBox.Show("Ricerca fallita","Ricerca");

    }


    }

    private void button1Click(object sender, EventArgs e)
    {
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Trattamenti'. È possibile spostarla o rimuoverla se necessario.
    this.trattamentiTableAdapter.Fill(this._database_S argassi_1_0DataSet.Trattamenti);
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Clienti'. È possibile spostarla o rimuoverla se necessario.
    this.clientiTableAdapter.Fill(this._database_Sarga ssi_1_0DataSet.Clienti);

    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
    // Display a MsgBox asking the user to save changes or abort.

    if (MessageBox.Show("Sei sicuro di voler Ricaricare i dati? Tutti i dati non salvati andranno persi ", "Attenzione",MessageBoxButtons.YesNo) == DialogResult.Yes)
    {

    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Trattamenti'. È possibile spostarla o rimuoverla se necessario.
    this.trattamentiTableAdapter.Fill(this._database_S argassi_1_0DataSet.Trattamenti);
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Clienti'. È possibile spostarla o rimuoverla se necessario.
    this.clientiTableAdapter.Fill(this._database_Sarga ssi_1_0DataSet.Clienti);
    MessageBox.Show("Dati ricaricati", "Ricarica dati");
    }
    }







    private void infoclick(object sender, EventArgs e)
    {
    if (MessageBox.Show("Sei sicuro di voler ricevere informazioni dal web ", "www.gufolino.com",MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    System.Diagnostics.Process.Start("http://www.gufolino.com", "");
    }
    }

    private void deleteclick(object sender, EventArgs e)
    {
    if (MessageBox.Show("Eliminare tutti i dati del cliente selezionato ?", "Eliminazione dati cliente",MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    MessageBox.Show("Dati cliente eliminati", "Eliminazione dati cliente");

    }
    else
    {
    this.trattamentiTableAdapter.Fill(this._database_S argassi_1_0DataSet.Trattamenti);
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Clienti'. È possibile spostarla o rimuoverla se necessario.
    this.clientiTableAdapter.Fill(this._database_Sarga ssi_1_0DataSet.Clienti);
    MessageBox.Show("Dati cliente non eliminati", "Eliminazione dati cliente");

    }

    }

    private void cancellatrattamentoclick(object sender, EventArgs e)
    {
    if (MessageBox.Show("Eliminare il trattamento selezionato ?", "Eliminazione trattamento", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    MessageBox.Show("Dati trattamento eliminati", "Eliminazione dati trattamento");
    }
    else
    {
    this.trattamentiTableAdapter.Fill(this._database_S argassi_1_0DataSet.Trattamenti);
    // TODO: questa riga di codice carica i dati nella tabella '_database_Sargassi_1_0DataSet.Clienti'. È possibile spostarla o rimuoverla se necessario.

    MessageBox.Show("Dati trattamento non eliminati", "Eliminazione dati trattamento");

    }

    }

    private void aggiungiclienteclick(object sender, EventArgs e)
    {
    if (MessageBox.Show("Aggiungere un nuovo cliente? ", "Aggiungi scheda cliente", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {

    }

    }

    private void mailclick(object sender, EventArgs e)
    {
    Form2 form2 = new Form2();
    form2.ShowDialog();
    }






    }

    private void importadb_Click(object sender, EventArgs e)
    {
    if (MessageBox.Show("Importare il Database ?", "Importazione Database", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    MessageBox.Show("Database importato", "Importazione Database");

    }
    else
    {

    MessageBox.Show("Database non importato", "Importazione Database");
    }

    }



    private void saveFileDialog1click(object sender, EventArgs e)
    {
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    saveFileDialog1.Filter = "Database file (*.mdf)|*.mdf";

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {

    // devo dirgli di creare una copia del database che è un file mdf e il relativo file log

















    }




    }





    }




    }

  10. #10
    I database presenti in una istanza di sql server sono "attaccati" a quella istanza e non si può copiarli e attaccarli ad una nuova istanza (attach) senza prima averli staccati (detach). Discorso un po' diverso nel caso invece usi sql server express.
    In ogni caso, personalmente utilizzerei il comodo modello a oggetti di SqlServer messo a disposizione delle applicazioni .net chiamato SMO. Imparandolo a utilizzare puoi programmare le normali operazioni sui db come collegamento-backup e collegamento-restore o farti restituire facilmente il transact sql necessario per ricostruire gli oggetti.
    http://msdn.microsoft.com/it-it/library/ms162132.aspx
    Saluti a tutti
    Riccardo

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.