把RichTextBox中的文本保存到Sql Server中(C#)[转载]

www.chinacs.net  2004-08-10  中文C#技术站

原文地址:http://www.developer.com/net/net/article.php/11087_3373951_1

保存:

 private void btnSave_Click(object sender, System.EventArgs e)  {      FileStream stream = null;   SqlConnection conn = null;   SqlCommand cmd = null;   try   {    richTextBox1.SaveFile( "temp.rtf" );    stream = new FileStream("temp.rtf", FileMode.Open, FileAccess.Read);    int size = Convert.ToInt32(stream.Length);    Byte[] rtf = new Byte[size];    stream.Read(rtf, 0, size);

    conn = new SqlConnection("Database=Northwind;Integrated Security=true;");    conn.Open();    cmd = new SqlCommand("UPDATE Employees SET Photo=@Photo WHERE EmployeeID=1", conn);

    SqlParameter paramRTF =      new SqlParameter("@Photo",     SqlDbType.Image,     rtf.Length,     ParameterDirection.Input,     false,     0,0,null,     DataRowVersion.Current,     rtf);    cmd.Parameters.Add(paramRTF);        int rowsUpdated = Convert.ToInt32(cmd.ExecuteNonQuery());        MessageBox.Show(String.Format("{0} rows updated", rowsUpdated));   }   catch(Exception ex)   {    MessageBox.Show(ex.Message);   }   finally   {    if ( stream != null ) stream.Close();    if (cmd != null ) cmd.Parameters.Clear();    if (conn != null) conn.Close();   }  }

读取:

private void btnLoad_Click(object sender, System.EventArgs e)  {   richTextBox1.Clear();

   SqlConnection cn     = null;   SqlCommand cmd       = null;   SqlDataReader reader = null;   try   {    cn = new SqlConnection("Database=Northwind;Integrated Security=true;");    cn.Open();    cmd = new SqlCommand("SELECT Photo FROM Employees WHERE EmployeeID=1", cn);    reader = cmd.ExecuteReader();    reader.Read();    if (reader.HasRows)    {     if (!reader.IsDBNull(0))     {      Byte[] rtf = new Byte[Convert.ToInt32((reader.GetBytes(0, 0, null, 0, Int32.MaxValue)))];      long bytesReceived = reader.GetBytes(0, 0, rtf, 0, rtf.Length);        ASCIIEncoding encoding = new ASCIIEncoding();      richTextBox1.Rtf = encoding.GetString(rtf, 0, Convert.ToInt32(bytesReceived));     }    }   }   catch(Exception ex)   {    MessageBox.Show(ex.Message);   }   finally   {    if (reader != null ) reader.Close();    if (cn != null ) cn.Close();   }

  }

>>原作者:   >>来源: 

→ 相关文章