Visualizza una finestra di dialogo ConnectionString

Sto cercando di creare un programma in C # che dovrebbe essere in grado di creare, eseguire il backup e ripristinare un database SQL Server.

Per questo, l’utente deve essere in grado di impostare una stringa di connessione sul server SQL desiderato (e sul database).

Vorrei utilizzare la stessa finestra di dialogo di Visual Studio per la creazione della stringa di connessione.

È ansible?

Nota: il componente di dialogo indicato di seguito non è più disponibile per il download. A meno che non lo abbiate recuperato in passato, probabilmente non riuscirete a far funzionare il codice di esempio di questa risposta.

Alternativa: ora è disponibile un DataConnectionDialog diverso su NuGet . Vedi questa risposta per i dettagli.


“Dialogo connessione dati” su MSDN Archive Gallery (interrotto a partire dal 1 settembre 2015)

La finestra di dialogo della connessione dati è un componente dello strumento database rilasciato con Visual Studio. Consente agli utenti di creare stringhe di connessione e connettersi a origini dati specifiche. prova questo..

Campione C #:

 static void Main(string[] args) { DataConnectionDialog dcd = new DataConnectionDialog(); DataConnectionConfiguration dcs = new DataConnectionConfiguration(null); dcs.LoadConfiguration(dcd); if (DataConnectionDialog.Show(dcd) == DialogResult.OK) { // load tables using (SqlConnection connection = new SqlConnection(dcd.ConnectionString)) { connection.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM sys.Tables", connection); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Console.WriteLine(reader.HasRows); } } } } dcs.SaveConfiguration(dcd); } 

Anche qui il codice sorgente è disponibile. possiamo integrare e ridistribuire il codice sorgente con la nostra applicazione in base alla licenza.

inserisci la descrizione dell'immagine qui

Il componente di dialogo di connessione dati collegato a questa risposta non è più disponibile per il download.

Tuttavia, un componente DataConnectionDialog (apparentemente un po ‘alterato) è diventato disponibile su NuGet .

Installazione:

Aggiungi il componente al tuo progetto Visual Studio tramite la console del gestore pacchetti NuGet:

 Install-Package DataConnectionDialog 

Esempio di utilizzo:

 // using Microsoft.Data.ConnectionUI; // using System.Windows.Forms; bool TryGetDataConnectionStringFromUser(out string outConnectionString) { using (var dialog = new DataConnectionDialog()) { // If you want the user to select from any of the available data sources, do this: DataSource.AddStandardDataSources(dialog); // OR, if you want only certain data sources to be available // (eg only SQL Server), do something like this instead: dialog.DataSources.Add(DataSource.SqlDataSource); dialog.DataSources.Add(DataSource.SqlFileDataSource); … // The way how you show the dialog is somewhat unorthodox; `dialog.ShowDialog()` // would throw a `NotSupportedException`. Do it this way instead: DialogResult userChoice = DataConnectionDialog.Show(dialog); // Return the resulting connection string if a connection was selected: if (userChoice == DialogResult.OK) { outConnectionString = dialog.ConnectionString; return true; } else { outConnectionString = null; return false; } } } 

Sì e no.

Sì, è tecnicamente ansible , ma ti esorto a non farlo; quella finestra di dialogo è parte di Visual Studio ed è elencata in “redist”. La mia interpretazione è che non sei libero di ridistribuire questa dll.

Penso che tutte le altre risposte qui non siano aggiornate, ma ho trovato una soluzione corrente su code.msdn.microsoft.com :

Utilizzo della finestra di dialogo di connessione di Microsoft Visual Studio in fase di runtime

In Visual Studio, quando uno sviluppatore vuole creare forti classi tipizzate per le tabelle del database sia per il TableAdapter convenzionale che per Entity Framework, esiste una posizione nel processo in cui viene visualizzata una finestra di dialogo come mostrato di seguito. Ti mostrerò come farlo in fase di esecuzione e un po ‘di più.

Il download è una soluzione che crea le seguenti DLL:

  • Microsoft.Data.ConnectionUI.Dialog.dll

  • Microsoft.Data.ConnectionUI.dll

  • Microsoft.Data.DataConnectionConfiguration.dll

La soluzione contiene anche un’applicazione di esempio che mostra come utilizzarli. Ha funzionato a meraviglia per me ed è super facile.

Puoi usare il file UDL.

Configurazione dei controlli dati per l’utilizzo dei file Universal Data Link (.udl)

È ansible utilizzare il pacchetto SQLConnectionStringUI Nuget.

Crea il tuo modulo simile alla finestra Impostazioni connessione Explorer Server e implementalo. Non puoi usare quel modulo pensato per VS