asp.net(C#)与ACCESS数据库存取二进制图片

asp.net(C#)与ACCESS数据库存取二进制图片,第1张

<%@ language = "vbscript" %>

<%

dim sn

dim constr

dim sqlstr

***************************************************

Response.Expires =-1

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-ctrol","no-cache"

***************************************************

'sn = request.QueryString("sn")

sn=trim(Request("sn"))

none=""

if sn = "" then

sn=0

none=" or 1=0"

end if

set connGraph = server.CreateObject("ADODB.connection")

constr="Provider=sqloledbServer=DTLTJFB\DTSQL2000initial Catalog=dt_unicomUID=identify_adminPWD=sa"

connGraph.Open constr

sqlstr="select img_data from [aa_identify_detail] where id=" &sn &none

set rec=connGraph.Execute(sqlstr)

if rec.eof or rec.bof then Response.end

img=rec("img_data")

isize=len(img)*2+500

'response.write isize

***************************************************

Response.ContentType = "image/jpeg"

Response.BinaryWrite rec("img_data").getChunk(isize)

***************************************************

set rec=nothing

connGraph.close

set connGraph=nothing

%>

以前做的一个程序。****号处,好好看看。

1. C#中怎么把数据保存到ACCESS数据库

Sqlmand是 *** 作sql数据库的,Access用OleDbmand首先定义一个链接对象OleDbConnection conn = new OleDbConnection("[数据库连接字符串]");conn.Open(); 打开数据库连接OleDbmand cmd = new OleDbmand("[Insert/Update/Delte语句]", conn)cmd.ExecuteNonQuery(); 执行 *** 作,如果是查询则不是用这个方法 最后别忘记关闭数据库连接和释放对象。

2. C# 如何将 图片直接存入SQL数据库中

文件转成二进制流出入数据库

private void button2_Click(object sender, EventArgs e)

{

FileStream fs = new FileStream(textBox1.Text, FileMode.Open)

BinaryReader br = new BinaryReader(fs)

Byte[] byData = br.ReadBytes((int)fs.Length)

fs.Close()

string conn = "server=.database=testDBUid=saPwd=sa "

SqlConnection myconn = new SqlConnection(conn)

myconn.Open()

string str = "insert into pro_table (pro_name,pro_file) values('测试文件',@file)"

Sqlmand mym = new Sqlmand(str, myconn)

mym.Parameters.Add("@file", SqlDbType.Binary, byData.Length)

mym.Parameters["@file"].Value = byData

mym.ExecuteNonQuery()

myconn.Close()

}

从数据库中把二进制流读出写入还原成文件

private void button4_Click(object sender, EventArgs e)

{

string conn = "server=.database=testDBUid=saPwd=sa "

string str = "select pro_file from pro_table where pro_name='测试文件' ";

SqlConnection myconn = new SqlConnection(conn)

SqlDataAdapter sda = new SqlDataAdapter(str, conn)

DataSet myds = new DataSet()

myconn.Open()

sda.Fill(myds)

myconn.Close()

Byte[] Files = (Byte[])myds.Tables[0].Rows[0]["pro_file"]

BinaryWriter bw = new BinaryWriter(File.Open("D:\\2.rdlc",FileMode.OpenOrCreate))

bw.Write(Files)

bw.Close()

}

3. c#如何把图片存取到SQL数据库

一楼开玩笑了!!可以保存到数据库的。

首先,你的数据库里要有一个存放二进制数据的字段。然后,用一个文件选择控件,让用户选择图片。

用FileStream.Read把图片文件按照二进制读取到byte[]中,接下来,链接数据库,用sql语句,进行相应的插入 *** 作,将数据库的二进制数据的字段赋值为byte[]就行了。以下是保存和显示的代码:private void SaveImage(string fileName) { Read the file into a byte array using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { byte[] imageData = new Byte[fs.Length]fs.Read(imageData, 0, (int)fs.Length)using (SqlConnection conn = new SqlConnection(connectionString)) { string sql = "insert into image (imagefilename,blobdata) values (@filename,@blobdata)"Sqlmand cmd = new Sqlmand(sql, conn)cmd.Parameters.Add("@filename",SqlDbType.Text)cmd.Parameters["@filename"].Direction = ParameterDirection.Inputcmd.Parameters.Add("@blobdata", SqlDbType.Image)cmd.Parameters["@blobdata"].Direction = ParameterDirection.InputStore the byte array within the image field cmd.Parameters["@filename"].Value = fileNamecmd.Parameters["@blobdata"].Value = imageDataconn.Open()if (cmd.ExecuteNonQuery() == 1) { MessageBox.Show("Done")} } } } private void LoadImage(string fileName) { using (SqlConnection conn = new SqlConnection(connectionString)) { string sql = "select blobdata from Image where ImageFileName like @filename"Sqlmand cmd = new Sqlmand(sql, conn)cmd.Parameters.Add("@filename", SqlDbType.Text)cmd.Parameters["@filename"].Value = fileNameconn.Open()object objImage = cmd.ExecuteScalar()byte[] buffer = (byte[])objImageBinaryWriter bw = new BinaryWriter(new FileStream("C:\\abcd.", FileMode.Create))bw.Write(buffer)bw.Close()MemoryStream ms = new MemoryStream(buffer)Image bgImage = Image.FromStream(ms)ms.Close()this.BackgroundImage = bgImage} } ------------------------------------------------------------------PS:用空情报我踩踩空间,谢谢。

/kxl361。

4. 如何将文件的路径存入SQL数据库中去

建一个表:JpgFiles,其中至少包含一个列:JpgPath,用来存放绝对路径的字符串,所以这个列需要用varchar,长度假设为50,不够的话自己再增加。

string strPath = @"d:\baidu\up"

string[] fileNames = System.IO.Directory.GetFiles(strPath)

SqlConnection Cn=new SqlConnection(这里写你的连接串);

Sqlmand Cmd=new Sqlmand("Insert JpgFiles values (@JpgPath)",Cn)

Cmd.Parameters.Add("@JpgPath",SqlDbType.VarChar,50)

foreach (string strName in fileNames)

{

Cmd.Parameters[0].Value=strName

Cmd.ExecuteNoQuery()

}

5. 怎样将数据存入mysql数据库

MySQL命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin

(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqldump -u 用户名 -p 数据库名 >; 导出的文件名

如我输入的命令行:mysqldump -u root -p news >news.sql (输入后会让你输入进入MySQL的密码)

(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件news.sql自动生成到bin文件下

命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便

2,同上面导出的第1步

3,进入MySQL:mysql -u 用户名 -p

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)

4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库

5,输入:mysql>use 目标数据库名

如我输入的命令行:mysql>use news

6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source news.sql

6. 如何把文件存入到sql server 2008

1.MDF文件

在企业管理器中

右击数据库

点击所有任务

附加数据库

点三个点选择文件

选中U盘中的MDF文件确定即可

2.BAK等备份文件:

新建空数据库,取名最好为原数据库名.

右击新建的数据库

点所有任务

点还原数据库

点从设备

点选择设备

点添加

定位到U盘中您的备份的文件

确定

点选项

点在现有数据库上强制还原

点确定

等待

完成!

另外,站长团上有产品团购,便宜有保证

直接使用企业管理器好像没有办法 *** 作吧,通过软件或自己做个小软件读取。

#region//读取数据库中图片到内存.并显示

public void LoadToMemoryAndDisable(string serverAdress, string database)

{

//读取数据库中图片到内存.并显示

SqlConnection conn = new SqlConnection("server=" + serverAdress + "integrated security = sspidatabase = " + database)

SqlCommand cmd = new SqlCommand("select * from imgtable where imgname like '%bmp%'", conn)

conn.Open()

SqlDataReader dr

try

{

dr = cmd.ExecuteReader()

dr.Read()

System.Data.SqlTypes.SqlBinary sb = dr.GetSqlBinary(2)

//或byte[] imageData = (byte[])dr[2]

MemoryStream ms = new MemoryStream(sb.Value)//在内存中 *** 作图片数据

Bitmap bmp = new Bitmap(Bitmap.FromStream(ms))

this.pictureBox1.Image = bmp

dr.Close()

}

catch (Exception ex)

{

MessageBox.Show(ex.Message)

}

finally

{

conn.Close()

}

}

#endregion


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10716416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存