Read them as an array of bytes:
byte[] bytes = File.ReadAllBytes(@"D:\Temp\MyFile.doc");
Then insert them into your table:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand com = new SqlCommand("INSERT INTO myTable (myFileDataColumn) VALUES (@DATA)", con))
{
com.Parameters.AddWithValue("@DATA", bytes);
com.ExecuteNonQuery();
}
}
To read them back is very, very similar:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand com = new SqlCommand("SELECT myFileDataColumn FROM myTable", con))
{
using (SqlDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
byte[] bytes = (byte() reader["myFileDataColumn "];
File.WriteAllBytes(@"D:\Temp\MyFileBackAgain.doc", bytes);
}
}
}
}