1
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[Person]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
2
drop
table
[
dbo
]
.
[
Person
]
3
GO
4
5
CREATE
TABLE
[
dbo
]
.
[
Person
]
(
6
[
PersonID
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
7
[
PersonImage
]
[
image
]
NULL
,
8
[
PersonImageType
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
9
)
ON
[
PRIMARY
]
TEXTIMAGE_ON
[
PRIMARY
]
10
GO
11
12

2

3

4

5

6

7

8

9

10

11

12

2.显示图片的代码,把下面的代码随便放到一个aspx页面的pageload事件中
1
void
GetImageSrcFromDB()
2
{
3
string strImageID = Request.QueryString["id"];
4
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=sa;");
5
SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID="
6
+ strImageID, myConnection);
7
8
try
9
{
10
myConnection.Open();
11
SqlDataReader myDataReader;
12
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
13
if(myDataReader.Read())
14
{
15
Response.Clear();
16
17
//Response.ContentType = myDataReader["PersonImageType"].ToString();
18
Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
19
}
20
myConnection.Close();
21
}
22
catch (SqlException SQLexc)
23
{
24
Response.Write(SQLexc.ToString());
25
}
26
//Response.End();
27
}

2



3

4

5

6

7

8

9



10

11

12

13

14



15

16

17

18

19

20

21

22

23



24

25

26

27

3.构造数据,通过上传的方式把图片存入数据库,下面的代码放入一个上传按钮的单击事件中,页面上在加一个上传控件
1
//
获得图象并把图象转换为byte[]
2
HttpPostedFile upPhoto
=
UpPhoto.PostedFile;
3
int
upPhotoLength
=
upPhoto.ContentLength;
4
byte
[] PhotoArray
=
new
Byte[upPhotoLength];
5
Stream PhotoStream
=
upPhoto.InputStream;
6
PhotoStream.Read(PhotoArray,
0
,upPhotoLength);
7
8
//
连接数据库
9
SqlConnection conn
=
new
SqlConnection();
10
conn.ConnectionString
=
"
Data Source=localhost;Database=mxh;User Id=sa;Pwd=sa
"
;
11
12
string
strSql
=
"
Insert into Person(PersonImage,PersonImageType) values(@FImage,'jpeg')
"
;
13
SqlCommand cmd
=
new
SqlCommand(strSql,conn);
14
cmd.CommandType
=
CommandType.Text ;
15
16
//
如果你希望不使用存储过程来添加图片把上面四句代码改为:
17
18
//
SqlCommand cmd=new SqlCommand(strSql,conn);
19
cmd.Parameters.Add(
"
@FImage
"
,SqlDbType.Image);
20
cmd.Parameters[
"
@FImage
"
].Value
=
PhotoArray;
21
conn.Open();
22
cmd.ExecuteNonQuery();
23
conn.Close();

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

4.显示图片的代码,建立一个新的aspx页面,然后显示图片
1
<
asp:Image
id
="Image1"
runat
="server"
ImageUrl
="ReadImage.aspx?id=1"
></
asp:Image
>
