0

PictureBoxWindows フォームにコントロールがあります。
Picture 列のデータ型は、テーブル 'TableName' の 'image' です。
これらは、データベースから画像を取得してPictureBox制御するコードです。

string connectionString = @"Initial Catalog=DataBaseName;Data Source=DataSourceName;Integrated Security=SSPI;";
            SqlConnection connection = new SqlConnection(connectionString);
            connection.Open();
            SqlDataAdapter da = new SqlDataAdapter(new SqlCommand("Select Picture From TableName where ID = 2 ", connection));
            DataSet ds = new DataSet();
            da.Fill(ds);
            byte[] myImage = new byte[0];
            myImage = (byte[])ds.Tables[0].Rows[0]["Picture"];
            MemoryStream stream = new MemoryStream(myImage);
            pictureBox1.Image = Image.FromStream(stream);
            connection.Close();

通常は常に機能しますがArgumentExeption、この行で「パラメーターが無効です」というエラーが表示されてpictureBox1.Image = Image.FromStream(stream);
わかりませんか? どのパラメータ?

どんな助けでも大歓迎です。

4

1 に答える 1

1

データベースからオブジェクトを保存して読み取る方法にあるようです。例外は Image.FromStream(stream); から来ています。MEthode、MSDNは、この例外について次のように述べています。

ストリームに有効なイメージ形式がありません。または、ストリームが null です。

したがって、質問でNullではないと言ったように、データを保存しているか、互換性のない方法で読み取っていると思います。

于 2012-11-30T06:55:50.557 に答える