access是微软发布的一款关系型数据库。access数据库保存的方法很多,可以通过vb,c++,php,asp等开发语言实现;也可以直接向access数据库插入进行保存。下面演示直接插入步骤:
1、打开access数据库,新建一张数据表(存储的字段类型选择:OLE 对象);
2、新建好,保存!然后再打开;右击图像控件,选择插入对象;
3、选中:由文件创建(F);然后点击浏览按钮,选择要保存的;最后,点击确定按钮;
4、同时按下Ctrl+S,对插入数据进行保存。保存成功后,控件会显示Package;
5、双击:控件(Package位置),会看到的预览;
6、这样,一张就保存到access数据库里去了。
向数据库中保存不同类型的文件,和在数据库中保存是一样的。就是向数据库以byte形式存入
向数据库中保存不同类型的文件,和在数据库中保存是一样的。就是向数据库以byte形式存入
然后就是写入数据库,代码如下:
FileInfo fi = new FileInfo( txtFileNameText );// Replace with your file name
if ( fiExists
{
byte[] bData = null;
int nNewFileID = 0;
// Read file data into buffer
using ( FileStream fs = fiOpenRead() )
{
bData = new byte[fiLength];
int nReadLength = fsRead( bData,0, (int)(fiLength) );
}
// Add file info into DB
string strQuery = "INSERT INTO FileInfo "
+ " ( FileName, FullName, FileData ) "
+ " VALUES "
+ " ( @FileName, @FullName, @FileData ) "
+ " SELECT @@IDENTITY AS 'Identity'";
SqlCommand sqlComm = new SqlCommand( strQuery, sqlConn );
sqlCommParametersAdd( "@FileName", fiName );
sqlCommParametersAdd( "@FullName", fiFullName );
sqlCommParametersAdd( "@FileData", bData );
// Get new file ID
SqlDataReader sqlReader = sqlCommExecuteReader();
if( sqlReaderRead() )
{
nNewFileID = intParse(sqlReaderGetValue(0)ToString());
}
sqlReaderClose();
sqlCommDispose();
if( nNewFileID > 0 )
{
// Add new item in list view
ListViewItem itmNew = lsvFileInfoItemsAdd( fiName );
itmNewTag = nNewFileID;
}
}
4而读出的代码如下:
// Get new file name
string strFullName =
dlgFBSaveSelectedPath;
if( strFullName[strFullNameLength - 1] != '//'
)
strFullName
+= @"/";
strFullName +=
lsvFileInfoSelectedItems[0]Text;
string strQuery = "SELECT FileData FROM FileInfo
"
+
" WHERE FileID = " + lsvFileInfoSelectedItems[0]TagToString();
SqlDataAdapter
sqlDAdapter = new SqlDataAdapter(strQuery,sqlConn);
DataSet
sqlRecordSet = new DataSet();
byte[] bData = null;
//Get file data from DB
try
{
sqlDAdapterFill(
sqlRecordSet, "FileInfo" );
foreach( DataRow dr in sqlRecordSetTables["FileInfo"]Rows)
{
if( dr["FileData"] != DBNullValue )
bData
= ( byte[] )dr["FileData"];
}
}
catch(SqlException sqlErr)
{
MessageBoxShow(
sqlErrMessage );
}
catch
{
MessageBoxShow(
"Failed to read data from DB!" );
}
sqlRecordSetDispose();
sqlDAdapterDispose();
if( bData != null )
{
// Save file
FileInfo
fi = new FileInfo( strFullName
);
if( !fiExists )
{
//Create the file
using (FileStream fs = fiCreate())
{
fsWrite(
bData, 0, bDataLength);
}
}
else
{
//Create the file
using (FileStream fs =
fiOpenWrite())
{
fsWrite(
bData, 0, bDataLength);
}
}
}
以上就是关于VB+Access做数据库如何保存图片全部的内容,包括:VB+Access做数据库如何保存图片、如何在数据库中同时保存文本和图片、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)