最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 讀取Northwind數(shù)據(jù)庫image字段

 更新時間:2009年03月13日 22:36:36   作者:  
我在寫一個三層結構Demo時,使用了Northwind這個范例數(shù)據(jù)庫。但是奇怪的是,讀取Categories表的Picture列(image類型)無法在image控件中正常顯示(解決方案在后面代碼中可以看到)。
這里值得一提的是,web控件image不像winForm控件那樣可以通過讀取二進制流賦值給image屬性來顯示圖像??梢酝ㄟ^變通的方法來實現(xiàn),流行的做法是新建一個頁面專門用來顯示圖像,這里代碼直接用孟子E章前輩的(作了小修改,主要是剔除78個byte字節(jié)流來正常顯示northwind數(shù)據(jù)庫的圖片):
ReadImage.aspx.cs
復制代碼 代碼如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace WebApplication2
{
public partial class ReadImage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strImageID = Request.QueryString["id"];
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=northwind;User Id=sa;Password=123456;");
SqlCommand myCommand = new SqlCommand("Select Picture from Categories Where CategoryID="
+ strImageID, myConnection);

try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if (myDataReader.Read())
{
Response.Clear();

Response.ContentType = "image/jpeg";
byte[] b = (byte[])myDataReader["Picture"];
//下面的方法就是用來讓圖片可以正常顯示
byte[] temp=new byte [b.Length -78];
Array.Copy(b, 78, temp, 0, b.Length - 78);
Response.BinaryWrite(temp);
}
myConnection.Close();
}
catch (SqlException SQLexc)
{
Response.Write(SQLexc.ToString ());
}
Response.End();

}
}
}

在源頁面如Default.aspx.cs可以通過下面方法調用
復制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack )
Image1.ImageUrl = FormatURL("1");

}
protected string FormatURL(string strArgument)
{
return "ReadImage.aspx?id=" + strArgument;
}

如果不想新建一個頁面來承載圖像,也可以使用下面的方法:(注意:下面的類是自定義的,大家看得懂這個方法就可以了)
復制代碼 代碼如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace WebApplication2
{
public partial class ReadImage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strImageID = Request.QueryString["id"];
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=northwind;User Id=sa;Password=123456;");
SqlCommand myCommand = new SqlCommand("Select Picture from Categories Where CategoryID="
+ strImageID, myConnection);

try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if (myDataReader.Read())
{
Response.Clear();

Response.ContentType = "image/jpeg";
byte[] b = (byte[])myDataReader["Picture"];
byte[] temp=new byte [b.Length -78];
Array.Copy(b, 78, temp, 0, b.Length - 78);
Response.BinaryWrite(temp);
}
myConnection.Close();
}
catch (SqlException SQLexc)
{
Response.Write(SQLexc.ToString ());
}
Response.End();

}
}
}

相關文章

  • asp.net 文件上傳 實時進度

    asp.net 文件上傳 實時進度

    在swfupload的基礎上增加一些個性化東西.附圖2張.
    2009-11-11
  • 利用EF6簡單實現(xiàn)多租戶的應用

    利用EF6簡單實現(xiàn)多租戶的應用

    這篇文章主要給大家介紹了關于如何利用EF6簡單實現(xiàn)多租戶應用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用EF6具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • asp.net 防止用戶通過后退按鈕重復提交表單

    asp.net 防止用戶通過后退按鈕重復提交表單

    經(jīng)過一番仔細的尋尋覓覓之后,我發(fā)現(xiàn)仍舊無法找出真正能夠完全禁用瀏覽器后退按鈕的辦法。所有這里介紹的方法都能夠在不同程度上、以不同的方式禁止用戶返回前一頁面,但它們都有各自的局限。
    2009-11-11
  • Asp.net利用JQuery AJAX實現(xiàn)無刷新評論思路與代碼

    Asp.net利用JQuery AJAX實現(xiàn)無刷新評論思路與代碼

    Asp.net利用JQuery AJAX實現(xiàn)無刷新評論,此功能是每一個從事asp.net開發(fā)者的朋友都希望實現(xiàn)的,本文利用閑暇時間整理了一些,有需要的朋友可以參考下
    2012-12-12
  • .NET Core對象池的應用:設計篇

    .NET Core對象池的應用:設計篇

    本文主要講解對象池的三個核心對象:表示對象池的ObjectPool<T>對象、對象值提供者的ObjectPoolProvider對象,已及控制池化對象創(chuàng)建與釋放行為的IPooledObjectPolicy<T>對象。感興趣的小伙伴可以參考一下這篇文章
    2021-09-09
  • mvc form表單提交的幾種形式整理總結

    mvc form表單提交的幾種形式整理總結

    這篇文章主要介紹了mvc form表單提交的幾種形式整理總結的相關資料,這里提供了幾種方法及實例代碼,需要的朋友可以參考下
    2016-12-12
  • .NET中的異常和異常處理用法分析

    .NET中的異常和異常處理用法分析

    這篇文章主要介紹了.NET中的異常和異常處理用法,分析了.NET中的異常處理機制以及相關注意事項,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Asp.Net類庫中發(fā)送電子郵件的代碼

    Asp.Net類庫中發(fā)送電子郵件的代碼

    發(fā)送電子郵件是許多需要用戶注冊的網(wǎng)站的通用功能,通過正則表達式我們可以過濾掉不符合電子郵件格式的輸入,但是仍沒有辦法確保用戶填寫的電子郵件地址一定是他本人真實有效的電子郵件地址
    2008-09-09
  • 淺析ASP.NET路由模型工作原理

    淺析ASP.NET路由模型工作原理

    很多人知道Asp.Net中路由怎么用的,卻不知道路由模型內部的運行原理,今天我就給大家吹下ASP.NET的路由模塊是如何工作的
    2016-03-03
  • ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)

    ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)

    這篇文章主要介紹了ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布,根據(jù)文章內容大家可以實現(xiàn)發(fā)布網(wǎng)站,感興趣的小伙伴們可以參考一下
    2015-08-08

最新評論

布尔津县| 甘南县| 柞水县| 衡阳市| 栖霞市| 策勒县| 德阳市| 元谋县| 油尖旺区| 桂东县| 桐乡市| 上林县| 湖北省| 大荔县| 马关县| 崇左市| 获嘉县| 库车县| 色达县| 荥阳市| 含山县| 馆陶县| 达拉特旗| 巴东县| 马公市| 什邡市| 阿拉善盟| 明星| 永兴县| 错那县| 皮山县| 宁远县| 石城县| 东宁县| 祁连县| 富阳市| 剑河县| 库伦旗| 赣榆县| 高碑店市| 安福县|