向数据库中传二进制类型的数据:
conn = new SqlConnection(sConnectionString);
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = string.Format("insert into tjLabelDefinition (labelName,labelType,labelFilePath, labelContent,createdTime) values('{0}','{1}','{2}',@Content,SYSDATETIME())",sLabelName, sLabelType, sLabelFile);
cmd.Parameters.Add("@Content", SqlDbType.Binary, labelContent.Length);
cmd.Parameters["@Content"].Value = labelContent;
nAffectRows = cmd.ExecuteNonQuery();
从数据库查询获得二进制数据:
conn = new SqlConnection(sConnectionString);
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = string.Format("select labelName,labelType,labelFilePath,labelContent from tjLabelDefinition where labelName='{0}'", sLabelName);
SqlDataReader reader = cmd.ExecuteReader();
if (!reader.HasRows)
{
reader.Close();
MessageBox.Show("Cannot find the label record.");
conn.Close();
return;
}
reader.Read();
if (!reader.IsDBNull(1))
sLabelType = reader[1].ToString();
if (!reader.IsDBNull(3))
labelContent = (byte[])reader[3];