동적 연결 문자열 데이터베이스 C #


9

im은 항상이 코드 줄을 연결에 사용합니다.

 string ConnectString = "datasource = mysource; username = myusername; password = mypassword; database = mydatabasename";

이번에 시도하는 것은 스크립트로 서버 데이터를 직접 쓸 때마다 텍스트 상자를 채우고 싶습니다. 그래서 나는 이와 같은 일을하려고합니다.

string ConnectString = "datasource = txtmysource.Text; username = txtmyusername.Text; password = txtmypassword.Text; database = txtmydatabasename.Text";

여기서 txtmysource.Text / txtmyusername.Text / txtmypassword.Text / txtmydatabasename.Text는 UI의 텍스트 상자 이름입니다. 그러나 나는 그것을 할 수있는 쓰기 방법을 찾을 수 없습니다.

답변:


28

DbConnectionStringBuilderSQL Server와 함께 RDBMS에 가장 적합한 것을 원할 것입니다 .

var builder = new SqlConnectionStringBuilder
{
    UserID = txtmyusername.Text,
    DataSource = txtmysource.Text,
    Password = txtmypassword.Text,
    InitialCatalog = txtmydatabasename.Text,
};
var connectString = builder.ConnectionString;

여기서 중요한 점은 (예를 들어) 요소에 공백, 쉼표, 따옴표 등과 같은 예약 된 / 사소하지 않은 문자가 포함 된 경우 올바른 문자 이스케이프 등을 적용한다는 것입니다.


2

다음과 같이 보간 문자열을 사용하십시오.

string ConnectString = $"datasource = {txtmysource.Text}; username = {txtmyusername.Text}; password = {txtmypassword.Text}; database = {txtmydatabasename.Text}";

2
누군가가라는 데이터베이스를 만들 때까지는 괜찮습니다 a;b="c.-그래, 가능합니다
Marc Gravell

귀하의 솔루션으로 고맙습니다
Raouf Bessghaier

2
@RaoufBessghaier 당신은 그 경우에 답변 (녹색 틱)으로 표시해야합니다
Marc Gravell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.