Visual C++ .NET/Database ADO.net/Blob — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 12:06, 26 мая 2010
Deal with Blob
#include "stdafx.h"
using namespace System;
using namespace System::Data;
using namespace System::IO;
using namespace System::Data::OleDb;
void main()
{
OleDbConnection^ myConnection = nullptr;
myConnection = gcnew OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Music.mdb");
myConnection->Open();
OleDbCommand^ myCommand = gcnew OleDbCommand("SELECT FileName, MP3 FROM MP3Storage", myConnection);
OleDbDataReader^ myReader = myCommand->ExecuteReader(CommandBehavior::SequentialAccess);
array<unsigned char>^ buffer = gcnew array<unsigned char>(65536);
while ( myReader->Read() ){
String^ fileName = safe_cast<String^>(myReader->GetValue(0));
FileStream^ fileStream = gcnew FileStream(fileName, FileMode::Create);
long long bytesRead, position = 0;
while ( bytesRead = myReader->GetBytes(1, position, buffer,0, buffer->Length) ){
fileStream->Write(buffer, 0, (int)bytesRead);
position += bytesRead;
}
Console::WriteLine("{0} bytes writte to {1} file",position, fileName);
fileStream->Close();
}
myConnection->Close();
}