C#操作SQLServer中的二進位制型別的資料方法
阿新 • • 發佈:2019-01-23
向資料庫中傳二進位制型別的資料:
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];