2017-01-23 10 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); 
        } 

読者はあなたがあなたのSQLクエリがありリーダーMySQLは戻って続けてヌル

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

idtolistsubsoortenが実際にヌルになる可能性を調査しましたか? – e4c5

答えて

0

は、クエリで勘違いされているnull値を返す保ちます間違い:2つの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で実行する前にdbmsでクエリを実行すると、より冗長なエラーメッセージが表示されます。

+0

ありがとうが、読者がnullを返すことを続ける –

+0

MySQLでこのクエリを実行し、結果を教えてください –

+0

準備されたステートメントは引用しないでください – e4c5

0

文字列を使用するときには、シングルまたはダブルクォータを書くべき

関連する問題