0

vb.netを使用してSQL Serverデータベースに画像を保存および取得する最も簡単な方法を教えてください。

非常に重要な考慮事項:

vb.net のアプリケーションには、LAN コンピュータからアクセスできるデータベースがあるようです。そのため、SQL Server 2005 データベースでは、他のコンピュータ アプリケーションがサーバーからデータベースを要求すると、リモート コンピュータがそのデータベースを共有できます。

そのため、他のすべてのコンピューターは、SQL Server 2005 で画像を保存および取得する必要があります。たとえば、comp1 は、サーバーに取り込まれた画像を保存し、tableadapter のように取得する必要があります。

バインディングとテーブルアダプターを使用して詳細をデータベースに保存し、db から情報を取得しています。コードや私のために働いているものがあれば、ここに投稿してください...

SQL Serverデータベースも共有しているLANコンピューターがある場合は、vb.netを介してSQL Serverのイメージを保存して取得する方法を教えてください。

どなたかこの件に詳しい方がいらっしゃいましたら、よろしくお願いします。

心からお願いします、私の問題を検討してください。

よろしくお願いします、

ホセイネル

4

1 に答える 1

1

画像を含むテーブルを用意しましょう (max の代わりに希望のサイズを使用できます):

CREATE TABLE dbo.STORED_IMAGES
     (
     ID int NOT NULL  IDENTITY (1, 1),
     Img varbinary(MAX) NULL
     ) 

保存イメージ:

Dim CMD As New SqlClient.SqlCommand("insert into STORED_IMAGES(Img) values(@Img)",cn)
CMD.Parameters.Add("@Img", SqlDbType.VarBinary, Integer.MaxValue).Value = ReadFile(Path)

ファイルを読み取る関数:

Private Function ReadFile(sPath As String) As Byte()
        Dim data As Byte() = Nothing
        Dim fInfo As New IO.FileInfo(sPath)
        Dim numBytes As Long = fInfo.Length
        Using fStream As New IO.FileStream(sPath, IO.FileMode.Open, IO.FileAccess.Read)
            Dim br As New IO.BinaryReader(fStream)
            data = br.ReadBytes(CInt(numBytes))
        End Using
        Return data
    End Function

DB からファイルを取得:

Dim fcmd As New SqlCommand("select Img from STORED_IMAGES where ID=@ID", cn)
fcmd.Parameters.Add("@ID", SqlDbType.Int).Value = 3 'e.g.
Dim bytes As Byte() = fcmd.ExecuteScalar

tableadapters を使用すると、データテーブルに Byte() 型の列が含まれると思います。

于 2012-04-23T09:57:54.003 に答える