2017-02-16 1 views
0

C# 응용 프로그램에서 데이터베이스에 액세스하는 방법을 배우려합니다. freemysqlhosting.com에서 호스팅되는 MySql 데이터베이스에 액세스하기 위해이 간단한 코드를 작성했습니다. 그것은 매우 간단한 windows 폼 어플리케이션입니다 : 'login'버튼이 포함되어 있습니다.이 버튼은 'username'이라는 텍스트 박스에 password가 '1234'인 사용자 이름을 넣어야합니다 ("sampleUser"여야 함). SQL 서버에 연결하면 con.Open()이 중단됩니다.

내가 시도하는 코드입니다 :

그러나
private void login_Click(object sender, EventArgs e) 
    { 
     string connectionString = "server=sql11.freemysqlhosting.net;user id=*********;database=sql11158998;password=********;"; 
     using (SqlConnection con = new SqlConnection(connectionString)) 
     { 
      SqlCommand cmd = new SqlCommand("SELECT * FROM users WHERE password = 'hrsidkpi'", con); 
      con.Open(); 
      SqlDataReader reader = cmd.ExecuteReader(); 
      try 
      { 
       while (reader.Read()) 
       { 
        username.Text = "" + reader[0]; 
       } 
      } 
      finally 
      { 
       reader.Close(); 
      } 
     } 
    } 

, I 버튼, 응용 프로그램 중단을 누르면. 예외/오류가 발생하지 않습니다. 나는 몇 분 동안 그것을 놓고 아무 일도 일어나지 않았다. Visual Studio의 "Data Sources"를 사용하여 서버에 DataSet 연결을했기 때문에 연결이 작동하고 연결 문자열의 세부 정보가 true라는 것을 알고 있습니다.

사용중인 caluse 내부의 모든 코드를 제거하더라도 멈 춥니 다. con.Open()을 제거하면 멈추지 않으므로이 문제를 일으키는 선이라고 생각합니다.

인터넷에서 솔루션을 찾기 위해 노력했지만 동일한 문제가있는 사람이 많았지 만 해결 방법이 없거나 주어진 솔루션이 내 상황에 아무런 영향을 미치지 않았습니다.

도움을 주시면 대단히 감사하겠습니다. 작성한 경우 실수로 영어를 사용해 죄송합니다.

+0

데이터베이스 서버 이름 및 암호는 모든 게시 된 코드에 있습니다. 나는 이것을 공개 포럼에서 삭제하는 것이 좋습니다. –

+0

이 데이터베이스는 테스트를 위해 만든 무료 데이터베이스입니다. 누군가가 손해를 입으면 새로운 것을 만들 수 있습니다. 나는 가능한 한 쉽게 나를 도와 주며 개인 정보는 노출되지 않는다. 그래도 고마워. – hrsidkpi

+3

당신이 연결하고있는 호스트 네임이 MySQL 호스팅이라고 말하고 있지만 MSSQL 세부 사항으로 연결하려고한다면 ... – DavidG

답변

-2

사용이 방법

public string _ConexaoBcoDados = "Data Source=10.10.40.12\\DESENV;Initial Catalog=control_db;Uid=usr_desenv14; pwd=12345678;"; 

     sql.AppendLine("select login_rede,perfil_id from protocol_tb with(nolock) "); 

     using (var conn = new SqlConnection(_ConexaoBcoDados)) 
     { 
      var cmd = new SqlCommand(sql.ToString(), conn); 
      conn.Open(); 
      using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) 
      { 
       while (reader.Read()) 
       { 
        valores = new string[] { reader["login_rede"].ToString(), reader["perfil_id"].ToString() }; 
       } 
      } 
     } 
관련 문제