1. 程式人生 > >C#操作SQLServer中的二進位制型別的資料方法

C#操作SQLServer中的二進位制型別的資料方法

向資料庫中傳二進位制型別的資料:

                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];