管理系统的话还是保存在数据库中好。如果数据少存在文件中没有问题,但是如果数据量太大,直接保存在文件中那就几乎是不可维护的了,因为查找更新都非常麻烦。数据库本身就提供很多维护数据的功能,这是文件存储所办不到的
那还是保存在数据库中吧,这样显得你的毕业设计更有技术含量,肯定评价会更高。再说,保存在文件中是很麻烦的,数据库的话,连接后几个简单的SQL语句就可以搞定了
向数据库中保存不同类型的文件,和在数据库中保存是一样的。就是向数据库以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);
}
}
}
以上就是关于资料保存于数据库中还是保存在文件夹中全部的内容,包括:资料保存于数据库中还是保存在文件夹中、如何在数据库中同时保存文本和图片、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)