vb.netblob的简单介绍

vb.net 中如何将图片保存到SQL数据库

保存路径最好,我几个项目都是这样。

创新互联公司专业为企业提供阜康网站建设、阜康做网站、阜康网站设计、阜康网站制作等企业网站建设、网页设计与制作、阜康企业网站模板建站服务,十多年阜康做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

具体如何保存,需要看你使用什么样的上传控件才可以定。

个人推荐一个是CFUPDATE,不错的控件,你可以了解,如果有不清楚,可以再问我。

VB.net 如何将数据转换为位图(Bitmap)所需要的byte()数组?急!!!!

public Byte[] getphoto(string photopath) //参数图片地址,主要用到的类有FileStream

{

string str = photopath;

FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);

Byte[] bytBLOBData = new Byte[file.Length];

file.Read(bytBLOBData, 0, bytBLOBData.Length);

file.Close();

return bytBLOBData;

}//这是定义函数..

vb.net如何读取oracle数据库中的图片

Public Sub Combo1_Click()

Dim adoCnn As ADODB.Connection

Dim rstOra As ADODB.Recordset

Dim intI As Integer

Set adoCnn = New ADODB.Connection

Set rstOra = New ADODB.Recordset

adoCnn.ConnectionString = "Provider=OraOLEDB.Oracle;User ID=dzjc;password=zlkj;Data Source=dzjc_2005;" '读blob字段要用Provider=OraOLEDB.Oracle

adoCnn.CursorLocation = adUseClient

adoCnn.Open

rstOra.CursorLocation = adUseClient

rstOra.ActiveConnection = adoCnn

rstOra.Open "SELECT zp FROM dzjc.dzjc_wfzp WHERE xh = '5'"

'Set Image1.DataSource = rstOra

Set Image1.Picture = PictureFromByteStream(rstOra.Fields("zp").Value)

End Sub

vb.net二进制怎么读取文件?

一、二进制文件读写

1、写二进制数据到指定目录

==将barray字节数组中的数据创建在strFilename目录文件下,存储格式为二进制,False表示不添加,直接覆盖创建。

2、从指定路径下读取二进制数据到数组

==将目录中的文件读取到barry字节数组中,即读取二进制文件。

二、字符文件的读写

1、 将txtFile控件中的字符写到srtFileName指定目录,以创建方式。

2、从srtFileName目录中的文件读取到txtFile控件

vb.net读取与存储sql server 2008图片

一般图片存储与读取采用数据类型Blob进行存储。

当然,由于现在数据库几乎都是关系型数据库,所以处理声音、图像、视频等,不能使用对象的方式,所以只能使用特殊的类型Blob进行存储,但效率比较低。我们在使用时,一般只存路径(字符串),而不采用Blob存储。

VB.net中的图片问题

void CGridImageDlg::OnSave()

{

try

{

pRecordset.CreateInstance("ADODB.Recordset");

pRecordset-Open("SELECT * FROM 基本信息图片",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

}

catch(_com_error e)///捕捉异常

{

AfxMessageBox("读取数据库失败!");///显示错误信息

}

//删除所有记录

while (!pRecordset-adoEOF)

{

pRecordset-Delete(adAffectCurrent);///删除当前记录

pRecordset-MoveNext();

}

int m_Rcount = 1;

while (m_Rcount m_GridCtrl.GetRowCount())

{

pRecordset-AddNew();

if(m_GridCtrl.GetItemText(m_Rcount,0)!="")

pRecordset-Fields-GetItem(_variant_t("图片编号"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,0));

if(m_GridCtrl.GetItemText(m_Rcount,1)!="")

pRecordset-Fields-GetItem(_variant_t("桥梁编号"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,1));

//获得文件名

CString m_sname;

m_sname.Format("%s",m_GridCtrl.GetItemText(m_Rcount,2));

//获取扩展名

CString m_sExt;

m_sExt.Format("%s%s",_T("."),m_GridCtrl.GetItemText(m_Rcount,4));

//获得主程序的路径

CString sPath;

GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);

sPath.ReleaseBuffer ();

int nPos;

nPos=sPath.ReverseFind ('\\');

sPath=sPath.Left (nPos);

//获取图片数据

CFile f;

CString FilePathName;

FilePathName.Format("%s%s%s%s",sPath,_T("\\临时图片\\"),m_sname,m_sExt); //文件名和后缀名

CFileException e;

if(f.Open(FilePathName, CFile::modeRead | CFile::typeBinary, e)) //打开了一个文件

{

int nSize = f.GetLength(); //先得到文件长度

BYTE * pBuffer = new BYTE [nSize]; //按文件的大小在堆上申请一块内存

if (f.Read(pBuffer, nSize) 0 ) //把文件读到pBuffer(堆上申请一块内存)

{ // +----------------------------------------------

BYTE *pBuf = pBuffer; ///下面这一大段是把pBuffer里的数据放到库中

VARIANT varBLOB;

SAFEARRAY *psa;

SAFEARRAYBOUND rgsabound[1];

if(pBuf)

{

rgsabound[0].lLbound = 0;

rgsabound[0].cElements = nSize;

psa = SafeArrayCreate(VT_UI1, 1, rgsabound);

for (long i = 0; i (long)nSize; i++)

SafeArrayPutElement (psa, i, pBuf++);

varBLOB.vt = VT_ARRAY | VT_UI1;

varBLOB.parray = psa;

pRecordset-GetFields()-GetItem("图片数据")-AppendChunk(varBLOB);

}

delete [] pBuffer; //删掉堆上申请的那一块内存

pBuf=0; //以防二次乱用

f.Close();

}

}

if(m_GridCtrl.GetItemText(m_Rcount,3)!="")

pRecordset-Fields-GetItem(_variant_t("图片类别名称"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,3));

if(m_GridCtrl.GetItemText(m_Rcount,4)!="")

pRecordset-Fields-GetItem(_variant_t("图片后缀"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,4));

if(m_GridCtrl.GetItemText(m_Rcount,5)!="")

pRecordset-Fields-GetItem(_variant_t("拍摄日期"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,5));

if(m_GridCtrl.GetItemText(m_Rcount,6)!="")

pRecordset-Fields-GetItem(_variant_t("图片描述"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,6));

m_Rcount++;

pRecordset-Update();

}

}


网站名称:vb.netblob的简单介绍
本文地址:http://pwwzsj.com/article/hpjojj.html