MySQLとC#が問合せを実行する問題

私はMySQLデータベースを持っており、基本的に単純なSQLクエリを実行しています

command.CommandText = SQL;
MySqlDataReader reader = command.ExecuteReader();
int a = 0;
while (reader.Read())// stops here
{
int b = reader.GetInt16("product_style_id");
//Do something

これは、SQLが

 "SELECT product_style_id, product_category_id, description FROM product_style";

しかし、SQLが

 "SELECT product_style_id FROM product_style";

これは、最初のパスでwhile(reader.Read())をロックします

他のクエリも完全に失敗する

私はMySQL 5.1.41-3Ubuntu12.10を使用していますが、私はさまざまなバージョンのコネクタを試しました

同様に、他の有効なSQL照会も同様に失敗し、SQLは100%有効であり、一部の照会では接続が機能します。どのようにテーブルを作ったのか、彼らの何かが奇妙なのですか?彼らはauto_incrementを持っていますが、それは何にも影響しません。

0
@Roger Stark:ubuntuリポジトリでmono MySQLプロバイダを使用します。残りはLinuxでは動作しません(ローカルコピーしないでください)。
追加された 著者 Stefan Steiger,
あなたの読書を実行した後、読者のステータスプロパティの値をチェックしようとすると、それがなぜ機能していないのかが明らかになるかもしれません。
追加された 著者 box86rowh,
テーブルがロックされているように見えます(WRITEロック)。
追加された 著者 Devart,
.NETコードの外で実行すると、クエリは正常に動作しますか?
追加された 著者 dillenmeister,
はい、クエリは外側でうまく動作します。コマンドラインで(リモートLinuxのMySQLデータベース)。私は2つの作業クエリの違いを照会しています。
追加された 著者 Roger Stark,
ロックが問題であるとは思わないオープンテーブルのリストを0(すべてのテーブル)として表示する私はまた、テーブルをフラッシュしてロックを解除しました。なぜ、1つのクエリは動作するのでしょうか?
追加された 著者 Roger Stark,

答えはありません

0