The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

把RichTextBox中的文本保存到Sql Server中

Posted on 2004-07-27 17:53  Cure  阅读(1875)  评论(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(00null0, Int32.MaxValue)))];
                        
long bytesReceived = reader.GetBytes(00, 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();
            }


        }