イメージのバイトを返す SQL Server データベースがあります。tableadapter ウィザードを使用してストアド プロシージャとプレビュー データに設定すると、画像が表示されます。プレビューデータの画像に自動的に変換します。Int の文字列などとは見なされません。
gridviewとobjectdatasourceを使用してasp.net Webページに表示するにはどうすればよいですか?
イメージフィールドがバイト変換を行う別のページの URL を指すことができる場所を検索して見つけましたが、それが最適かどうかはわかりません。一時ファイルを作成する別の方法を見つけました。
それを行うための最良の方法を見ようとしているだけです。
編集 - 一時ファイルを使用しないようにしています。グリッドビューを使用できない場合は、通常の画像フィールドで問題ありません。
asp.net 2.0、c#.
助けてくれてありがとう。
編集
最終的に:
protected void Page_Load(object sender, EventArgs e)
{
string id = Request["id"];
string connstr = "DSN=myserver";
OdbcConnection conn = new OdbcConnection(connstr);
OdbcCommand cmd = new OdbcCommand("{call mySP (?)}", conn);
cmd.CommandType = CommandType.StoredProcedure;
// Add the input parameter and set its properties.
OdbcParameter parameter = new OdbcParameter();
parameter.ParameterName = "@MyParam";
parameter.OdbcType = OdbcType.VarChar;
parameter.Direction = ParameterDirection.Input;
parameter.Value = id;
// Add the parameter to the Parameters collection.
cmd.Parameters.Add(parameter);
conn.Open();
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
byte[] buffer = (byte[])dr[0];
Response.ContentType = "image/jpg";
Response.BinaryWrite(buffer);
Response.Flush();
}
}
そしてこれは呼び出しページにあります:
<asp:Image ID="Image1" ImageAlign="Middle" ImageUrl="show.aspx?id=123" Runat="server" />