下面两段代码分别是实现向sql数据库中存和取word文件(包含表格): 
//读取word并存入sql数据库 
OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
            openFileDialog1.Filter = "doc文件(*.doc)|*.doc|所有文件(*.*)|*.*"; 
          if (openFileDialog1.ShowDialog() == DialogResult.OK) 
            { 
                if (openFileDialog1.FileName != "") 
                { 
                    string mp = openFileDialog1.FileName;                  
                    FileStream fs = File.OpenRead(mp);                                                            System.IO.BinaryReader br = null; 
                    br = new BinaryReader((Stream)fs); 
                    byte[] b = new byte[fs.Length];                                                int intLength = (int)fs.Length; 
                    b = br.ReadBytes(intLength); 
                    fs.Close();  
                    string nn = "server=localhost; database=hyz; User ID=sa;trusted_connection=true"; 
                    string sql = "insert into test values ('1','" + b + "')"; 
                  SqlConnection connect = new SqlConnection(nn); 
                    SqlCommand cmd1 = new SqlCommand(sql); 
                    cmd1.Connection = connect;        //数据库连接                                      
                    cmd1.Parameters.Add("t1", SqlDbType.Image).Value = b; 
                    cmd1.Connection.Open(); 
                    cmd1.ExecuteNonQuery();    //入库 
                    cmd1.Connection.Close();                          
            cmd1.Dispose(); 
            connect.Dispose(); 
            connect.Close(); 
//从数据库中取出,并保存为word文档 
string str = "server=localhost;database=hyz;uid=sa;pwd="; 
            SqlConnection connection = new SqlConnection(str); 
            SqlCommand cmd = new SqlCommand(sqlstr); 
            cmd.Connection = connection; 
            connection.Open(); 
            int intLenth = 0; 
            MemoryStream stream = new MemoryStream(b, true); 
            stream.Write(b, 0, intLenth); 
            FileStream fsw = new FileStream(@"e:\test.doc",FileMode.OpenOrCreate,FileAccess.Write); 
              fsw.Write(b,0,b.Length) 

解决方案 »

  1.   

    //从数据库中取出,并保存为word文档 ;下面的代码不能实现,出现的都是乱码,我用的是sqL 2000 
    string str = "server=localhost;database=hyz;uid=sa;pwd="; 
                SqlConnection connection = new SqlConnection(str); 
                SqlCommand cmd = new SqlCommand(sqlstr); 
                cmd.Connection = connection; 
                connection.Open(); 
                int intLenth = 0; 
                MemoryStream stream = new MemoryStream(b, true); 
                stream.Write(b, 0, intLenth); 
                FileStream fsw = new FileStream(@"e:\test.doc",FileMode.OpenOrCreate,FileAccess.Write); 
                  fsw.Write(b,0,b.Length)