2012-05-29 2 views

ответ

0

От http://www.akadia.com/services/dotnet_read_write_blob.html:

// Read Image into Byte Array from Filesystem 
byte[] photo = GetPhoto(photoFilePath); 

// Construct INSERT Command 
SqlCommand addEmp = new SqlCommand(
    "INSERT INTO Employees ("+ 
    "LastName,FirstName,Title,HireDate,ReportsTo,Photo) "+ 
    "VALUES(@LastName,@FirstName,@Title,@HireDate,@ReportsTo,@Photo)",_conn); 

addEmp.Parameters.Add("@LastName", SqlDbType.NVarChar, 20).Value = plastName; 
addEmp.Parameters.Add("@FirstName", SqlDbType.NVarChar, 10).Value = pfirstName; 
addEmp.Parameters.Add("@Title",  SqlDbType.NVarChar, 30).Value = ptitle; 
addEmp.Parameters.Add("@HireDate", SqlDbType.DateTime).Value  = phireDate; 
addEmp.Parameters.Add("@ReportsTo", SqlDbType.Int).Value   = preportsTo; 
addEmp.Parameters.Add("@Photo",  SqlDbType.Image, photo.Length).Value = photo; 

// Open the Connection and INSERT the BLOB into the Database 
_conn.Open(); 
addEmp.ExecuteNonQuery(); 
_conn.Close(); 



// **** Read Image into Byte Array from Filesystem 
public static byte[] GetPhoto(string filePath) 
{ 
    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
    BinaryReader br = new BinaryReader(fs); 

    byte[] photo = br.ReadBytes((int)fs.Length); 

    br.Close(); 
    fs.Close(); 

    return photo; 
} 

Вы можете сделать полнотекстовый поиск, если ваши документы:

.doc 
.txt 
.xls 
.ppt 
.htm 

См: http://technet.microsoft.com/en-us/library/cc917636.aspx

+0

И как это позволяет вам искать blob для определенного шаблона? –

0

Обновление блоб не проблема, вам просто обновите его. Msgstr "Я пытаюсь выполнить совпадение шаблона с Like и хотел бы обновить столбец". Это невозможно. Вы не можете искать капли. Существуют сложные способы обхода. Вы можете включить полнотекстовый поиск, вероятно, самый простой. Если у вас есть база данных игрушек и на самом деле не нужны капли в первую очередь, вы можете использовать ее как nvarchar (4000) и искать ее, которая будет делать бросок подряд за строкой, делать мучительно медленный поиск и работать только если то, что вы ищете, находится в первых 4000 символах.