首页 新闻 搜索 专区 学院

怎样往sql server数据库的表中添加图片

0
悬赏园豆:5 [已解决问题] 解决于 2011-04-12 17:21

怎样往sql server数据库的表中添加图片

我设置了image数据类型,却不知怎么把图片放进去?而且图片需要什么格式么?

月时微的主页 月时微 | 初学一级 | 园豆:185
提问于:2011-04-12 16:11
< >
分享
最佳答案
0
Stream imgdatastream = File1.PostedFile.InputStream;

int imgdatalen = File1.PostedFile.ContentLength;

string imgtype = File1.PostedFile.ContentType;

string imgtitle = TextBox1.Text;

byte[] imgdata = new byte[imgdatalen];

int n = imgdatastream.Read(imgdata,0,imgdatalen);

string connstr=

((NameValueCollection)Context.GetConfig

(
"appSettings"))["connstr"];

SqlConnection connection
= new SqlConnection(connstr);

SqlCommand command
= new SqlCommand

(
"INSERT INTO ImageStore(imgtitle,imgtype,imgdata)

VALUES ( @imgtitle, @imgtype,@imgdata )
", connection );


SqlParameter paramTitle
= new SqlParameter

(
"@imgtitle", SqlDbType.VarChar,50 );

paramTitle.Value
= imgtitle;

command.Parameters.Add( paramTitle);


SqlParameter paramData
= new SqlParameter

(
"@imgdata", SqlDbType.Image );

paramData.Value
= imgdata;

command.Parameters.Add( paramData );


SqlParameter paramType
= new SqlParameter

(
"@imgtype", SqlDbType.VarChar,50 );

paramType.Value
= imgtype;

command.Parameters.Add( paramType );


connection.Open();

int numRowsAffected = command.ExecuteNonQuery();

connection.Close();
收获园豆:3
死白的man | 老鸟四级 |园豆:2135 | 2011-04-12 16:36
不过不建议你这么做,最好还是在数据库中存放图片的路径
死白的man | 园豆:2135 (老鸟四级) | 2011-04-12 16:36
其他回答(2)
0

不需要,这样处理不怎么好,最好是存储图片的路径,把图片放在一个文件夹里面。存储图片是把图片读取到数据库中。图片是一种文件,需要通过编程,以数据流读入数据库。具体代码可以搜索。

收获园豆:1
代码苦行僧 | 园豆:311 (菜鸟二级) | 2011-04-12 16:25
0

现在通用的做法都是数据库存储路径,应用程序目录存储图片。也是比较合理的

收获园豆:1
lovemc | 园豆:13 (初学一级) | 2011-04-12 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册