2009-11-05 5 views
1

여기에서 Visual Basic 2008을 사용하고 있으며 SQL 데이터베이스에 연결하여 코드를 디버깅하고 있습니다. 이런 일이 생길 때까지는 괜찮 았어. NullReferenceException 처리되지 않았습니다. 무슨 일이야? 여기에 내가 함께 일하고 있어요 코드입니다 :Visual Basic 2008 - NullReferenceException 오류?

Dim conn As MySqlConnection 
        conn = New MySqlConnection 
        conn.ConnectionString = "server=...; user id=...; password=...; database=..." 
        Try 
         conn.Open() 
        Catch myerror As MySqlException 
         MsgBox("Error connecting to database") 
        End Try 
        Dim myAdapter As New MySqlDataAdapter 
        Dim sqlquery = "SELECT * FROM user WHERE username = '" + TextBox2.Text + "'" 
        Dim myCommand As New MySqlCommand() 
        myCommand.Connection = conn 
        myCommand.CommandText = sqlquery 
        myAdapter.SelectCommand = myCommand 
        Dim myData As MySqlDataReader 
        myData = myCommand.ExecuteReader() 

그것은 (그것은 바로 주위 conn.open 강조가), 나에게 그 오류를 제공합니다. 내 맥에 내 SQL 데이터베이스를 옮길 때까지 일찍 잘 작동했다. (windows -> mac) 차이점이 있습니까? 나는 나의 창 전망 컴퓨터에서 나의 재료를 보완하고 나의 Mac에 그것을 복구했다. 나는 차이가 있다고 생각하지 않지만, 나는 그걸 밖에두고있다. 이 오류가 발생하는 이유는 무엇입니까?

감사합니다,

케빈

답변

0

은 정말 문제가 내 머리 위로 떨어져 무엇인지 말할 수 없습니다.

하지만 알아내는 방법은 conn = New MySqlConnection에 중단 점을 넣고 단계별로 수행 한 변수를 살펴 보는 것입니다.

conn.Open 줄에서 문제가 발생하는 경우 conn은 null (아무 것도 없음) 때문일 수 있습니다. 그러나 그런 경우 conn.ConnectionString이 예외를 throw해야합니다.

다른 단계는 예외의 스택 추적을보고 정확히 어디에서 던져지고 있는지 확인하는 것입니다. 예를 들어, mysql 커넥터의 어딘가에 오류가있을 수 있습니다.

죄송합니다. 정말 답을 드릴 수는 없지만 몇 가지 일반적인 의견을 보내 주시면 해결책을 찾거나 자세한 내용을 찾을 수 있습니다.

+0

그래, 아직 그걸 시도하지는 않았지만 그 null이라고 생각합니다. – lab12

+0

좋아, 나는 그것에 중단 점을 넣어서 그것을 시도하고, 그것은 아무것도의 가치가있다 말한다. 어떻게해야합니까? – lab12

+0

연결이 아무것도 아닌 경우 할당 코드가 작동하지 않아야합니다. 그래서 conn = new MySqlConnection()을 살펴볼 것입니다. 나는 그것이 왜 작동하지 않는지 모르겠다. 나는 과거에 비슷한 코드를 사용했다. 아마도 OS와 관련이 있을지도 모른다. 아마 당신이 사용하고있는 커넥터 버전 일 것이다. 첫 번째 히트가 아마도 다른 오버로드를 시도하여 생성자에 연결 문자열을 제공합니다. – Glenn

0

위키 버전의 MySql을 사용하고 있습니까? ...이 버그의 세부 사항 바라 보았다 시간을 유휴 관련이

http://bugs.mysql.com/bug.php?id=26393

을 ... 되세요.

예외와 관련된 전체 스택 추적이있는 경우 문제를 밝힐 수 있습니다.

+0

5.4 Community Server로 업그레이드해야합니까? – lab12

+0

나는 말하고 싶지 않다. 이것이 동일한 이슈인지 아닌지 설명하는 것은 어렵습니다. –

1

연결 문자열을 검토하는 것이 좋습니다. 귀하의 코드를 사용하고 우리의 로컬 MySQL 데이터베이스에 아무런 오류가 없습니다.