c# - visual studio form title




ConnectionString 대화 상자 표시 (5)

C #에서 SQL Server 데이터베이스를 만들고 백업하고 복원 할 수 있어야하는 프로그램을 만들려고합니다.

이를 위해 사용자는 원하는 SQL Server (및 데이터베이스)에 대한 연결 문자열을 설정할 수 있어야합니다.

Visual Studio와 같은 대화 상자를 사용하여 연결 문자열을 만들고 싶습니다.

이것이 가능한가?


참고 : 아래에 언급 된 대화 상자 구성 요소는 더 이상 다운로드 할 수 없습니다. 과거에이 코드를 검색하지 않았다면 아마이 대답의 샘플 코드가 작동하지 않을 것입니다.

대안 : NuGet 에서 다른 DataConnectionDialog 사용할 수 있습니다 . 자세한 내용은 이 답변 을 참조하십시오.

MSDN 보관함 갤러리의 "데이터 연결 대화 상자" (2015 년 9 월 1 일에 깨짐)

데이터 연결 대화 상자는 Visual Studio와 함께 릴리스 된 데이터베이스 도구 구성 요소입니다. 사용자가 연결 문자열을 작성하고 특정 데이터 소스에 연결할 수 있습니다. 이 시도..

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);
}

여기에 소스 코드도 있습니다. 우리는 라이선스에 따라 소스 코드를 우리의 응용 프로그램과 통합하고 재배포 할 수 있습니다.



서버 탐색기 연결 설정 창과 비슷한 양식을 만들어 구현하십시오. 그 양식을 VS 용으로 사용할 수 없습니다.


예, 아니오.

예, 기술적으로 가능 하지만,하지 말라고 촉구합니다. 이 대화 상자는 Visual Studio의 일부이며 "redist"에 많이 나열됩니다. 내 해석은이 DLL을 무료로 배포 할 수 없다는 것 입니다.


이 대답에 연결된 데이터 연결 대화 상자 구성 요소를 더 이상 다운로드 할 수 없습니다.

그러나 (분명히 다소 변경된) DataConnectionDialog 구성 요소는 이후 NuGet에서 사용할 수있게되었습니다 .

설치:

NuGet 패키지 관리자 콘솔을 통해 Visual Studio 프로젝트에 구성 요소를 추가합니다.

Install-Package DataConnectionDialog

사용 예 :

// 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
        // (e.g. 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;
        }
    }
}




connection-string