2017-01-23 60 views
0
MySqlCommand command = new MySqlCommand(selectCmd, myConnection); 
        command.CommandText = "SELECT idtolistsubsoorten FROM `vogelsoort` WHERE id= MAX (id)and vogelsoort.naam [email protected]"; 
        command.Parameters.Add("@vogelsoortnaam", MySqlDbType.VarChar).Value = vogel.Soortnaam; 
        reader = command.ExecuteReader(); 
        reader.Read(); 
        while (reader.Read()) 
        { 
         string idpape = reader.; 
         subid = Convert.ToInt64(idpape); 
        } 

讀者不斷返回一個空值讀者MySQL總是返回null

+0

你是否調查過idtolistsubsoorten可能真的爲空的可能性? – e4c5

回答

0

你在查詢誤當您使用字符串

command.CommandText = "SELECT idtolistsubsoorten FROM `vogelsoort` WHERE id= MAX (id) and vogelsoort.naam [email protected]"; 
+0

感謝但讀者一直返回null –

+0

只是在MySQL中運行此查詢並告訴我什麼是結果 –

+0

準備的語句不應引用 – e4c5

0

你的SQL查詢有一個,你應該寫單人或雙人配額錯誤:有兩個FROM命令:

SELECT idtolistsubsoorten 
FROM `vogelsoort` 
WHERE id= MAX (id) 
FROM `vogelsoort` 
and vogelsoort.naam = @vogelsoortnam 

請嘗試使用此代替:

SELECT idtolistsubsoorten 
FROM `vogelsoort` 
WHERE id= MAX (id) 
and vogelsoort.naam = @vogelsoortnam 

此外,您可以嘗試在您的dbms中執行查詢之前,在PHP中運行它,這樣您將有一個更詳細的錯誤消息。