2017-01-23 13 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 постоянно возвращается нуль

+0

Вы исследовали возможность того, что idtolistsubsoorten действительно может быть нулевым? – e4c5

ответ

0

вы Ошибочно в запросе, вы должны писать одинарные или двойные квоты при СТРОКЕ использовать

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

спасибо, но читатель продолжает возвращать нуль –

+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 

Кроме того, вы можете попробовать выполнения запроса в СУБД перед запуском его в PHP, таким образом, вы будете иметь сообщение об ошибке с более многословным.