sql >> データベース >  >> RDS >> Sqlserver

SQL Server から画像ボックスに画像をロードする方法は?

    画像コンテンツをデータベースにアップロードしたことはありません。それは単なるファイル名です。

    例として、作業するファイル パスがあるとします (質問の内容を考えると、そうであるように見えます)。アプリケーションでは、これを次の形式でデータベースにアップロードします:

    byte[] image = File.ReadAllBytes("D:\\11.jpg");
    
    SqlCommand sqlCommand = new SqlCommand("INSERT INTO imageTest (pic_id, pic) VALUES (1, @Image)", yourConnectionReference);
    sqlCommand.Parameters.AddWithValue("@Image", image);
    sqlCommand.ExecuteNonQuery();
      

    pic に注意してください フィールドのデータ型を変更する必要がある可能性が高くなります。この情報の一般的なタイプは VARBINARY です .

    次の部分では、ファイルを PictureBox に読み込みます。このためには、データを選択する必要があります:

    SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT pic FROM imageTest WHERE pic_id = 1", yourConnectionReference));
    DataSet dataSet = new DataSet();
    dataAdapter.Fill(dataSet);
    
    if (dataSet.Tables[0].Rows.Count == 1)
    {
        Byte[] data = new Byte[0];
        data = (Byte[])(dataSet.Tables[0].Rows[0]["pic"]);
        MemoryStream mem = new MemoryStream(data);
        yourPictureBox.Image= Image.FromStream(mem);
    } 
      

    そして、それはそれについてあるはずです。より安全なチェックを行いたいと思うかもしれませんが、これは始めるのに役立つはずです。



    1. mysql-別のインデックスで全文検索を支援する方法はありますか?

    2. onUpgradeメソッドが呼び出されたことはありますか?

    3. Doctrineクエリビルダーで複数のWHEREIN列クエリを作成するにはどうすればよいですか?

    4. 2進数の1ビットをトグルとして更新するにはどうすればよいですか?