string id = Request.QueryString["id"];
string str = @"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=GxtDocument;Data Source=CMJ;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LW;Use Encryption for Data=False;Tag with column collation when possible=False";
OleDbConnection mycn = new OleDbConnection(str);
OleDbCommand mycm = new OleDbCommand (@"SELECT  DocContentType, DocContent FROM Document where DocID = '" + id + "'",mycn);mycn.Open();
OleDbDataReader mydr= mycm.ExecuteReader();if(mydr.Read())
{
Response.ContentType = mydr["DocContentType"].ToString(); //保存的文档类型
Response.BinaryWrite( (byte[]) mydr["DocContent"] );//文档内容
Response.End();}
mycn.Close();

解决方案 »

  1.   

    这种方法主要是要保存好文档类型
    客户端要求环境
    IE 浏览器 具备word环境
      

  2.   

    你误解我的意思了,
    不是从数据库中取数据,而是生成一个word.document对象,然后将这个对象发送到客户端
    算了,没人回贴,看来是搞不定了!
      

  3.   

    strSQL = New String("INSERT INTO tblUser(UserID, UserName, UserPwd, Sex, Birthday, Nation, NativePlace, Addr, Married, IDCard, School, Department, XueLi, FLanguage, FLanguageLevel, Branch, Job, Tel, Fax, Mobile, BP, Email, Note1, Note2, Note3, Photo, PhotoType)VALUES (@UserID, @UserName, @UserPwd, @Sex, @Birthday, @Nation, @NativePlace, @Addr, @Married, @IDCard, @School, @Department, @XueLi, @FLanguage, @FLanguageLevel, @Branch, @Job, @Tel, @Fax, @Mobile, @BP, @Email, @Note1, @Note2, @Note3, @Photo, @PhotoType)")
            'strSQL = New String("INSERT INTO tblUser(UserID, UserName, UserPwd, sex, Birthday,Nation,NativePlace, Addr,Married, IDCard, School, Department, XueLi, FLanguage, FLanguageLevel, Branch, Job,photo, PhotoType)VALUES (@UserID, @UserName, @UserPwd,@sex,@Birthday,@Nation,@NativePlace, @Addr,@Married,@IDCard, @School, @Department, @XueLi, @FLanguage, @FLanguageLevel, @Branch, @Job,@Photo, @PhotoType)")
            objCom = New SqlClient.SqlCommand(strSQL, New SqlClient.SqlConnection(strCon))
            'HttpPostedFile对象,用于读取图象文件属性
            Dim UpFile As HttpPostedFile
            UpFile = txtPhoto.PostedFile
            Dim FileLength = 0
            '记录文件长度变量
            FileLength = UpFile.ContentLength
           
            'If FileLength <> 0 Then
            Dim StreamObject As System.IO.Stream = UpFile.InputStream
            '文件临时储存Byte数组
            Dim FileByteArray(FileLength) As Byte
            '读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
            Dim x = UpFile.FileName.LastIndexOf("\"), File_name = Mid(UpFile.FileName, x + 2)
            '读文件内容到FileByteArray数组
            'StreamObject.Read(FileByteArray, 0, FileLength)
            StreamObject.Read(FileByteArray, 0, FileLength)
            objCom.Parameters.Add("@Photo", SqlDbType.Binary, FileLength).Value = FileByteArray
            objCom.Parameters.Add("@PhotoType", SqlDbType.NVarChar, 50).Value = UpFile.ContentType
            'Else
            'End If
            objCom.Parameters.Add("@UserID", SqlDbType.NVarChar, 50).Value = txtUserID.Text
            objCom.Parameters.Add("@UserName", SqlDbType.NVarChar, 50).Value = txtUserName.Text
            objCom.Parameters.Add("@UserPwd", SqlDbType.NVarChar, 50).Value = txtPwd.Text
            objCom.Parameters.Add("@Sex", SqlDbType.Bit, 1).Value = IIf(rbtnSex0.Checked, 1, 0)
            objCom.Parameters.Add("@Birthday", SqlDbType.DateTime, 8).Value = dDate
            objCom.Parameters.Add("@Nation", SqlDbType.NVarChar, 50).Value = txtNation.Text
            objCom.Parameters.Add("@NativePlace", SqlDbType.NVarChar, 1000).Value = txtNativePlace.Text
            objCom.Parameters.Add("@Addr", SqlDbType.NVarChar, 1000).Value = txtAddr.Text
            objCom.Parameters.Add("@Married", SqlDbType.Bit, 1).Value = IIf(chkMarried.Checked, 1, 0)
            objCom.Parameters.Add("@IDCard", SqlDbType.NVarChar, 18).Value = txtIDCard.Text
            objCom.Parameters.Add("@School", SqlDbType.NVarChar, 500).Value = txtSchool.Text
            objCom.Parameters.Add("@Department", SqlDbType.NVarChar, 50).Value = txtDepartment.Text
            objCom.Parameters.Add("@Xueli", SqlDbType.NVarChar, 50).Value = dListXueLi.SelectedItem.Text
            objCom.Parameters.Add("@Flanguage", SqlDbType.NVarChar, 50).Value = txtFLanguage.Text
            objCom.Parameters.Add("@FlanguageLevel", SqlDbType.NVarChar, 10).Value = dListFLanguageLevel.SelectedItem.Text
            objCom.Parameters.Add("@Branch", SqlDbType.NVarChar, 50).Value = dListBranch.SelectedItem.Text
            objCom.Parameters.Add("@Job", SqlDbType.NVarChar, 50).Value = dListJob.SelectedItem.Text
            objCom.Parameters.Add("@Tel", SqlDbType.NVarChar, 50).Value = txtTel.Text
            objCom.Parameters.Add("@Fax", SqlDbType.NVarChar, 50).Value = txtFax.Text
            objCom.Parameters.Add("@Mobile", SqlDbType.NVarChar, 50).Value = txtMobile.Text
            objCom.Parameters.Add("@BP", SqlDbType.NVarChar, 50).Value = txtBP.Text
            objCom.Parameters.Add("@email", SqlDbType.NVarChar, 50).Value = txtEmail.Text
            objCom.Parameters.Add("@Note1", SqlDbType.Text, 16).Value = txtNote1.Text
            objCom.Parameters.Add("@Note2", SqlDbType.Text, 16).Value = txtNote2.Text
            objCom.Parameters.Add("@Note3", SqlDbType.Text, 16).Value = txtNote3.Text        objCom.Connection.Open()
            objCom.ExecuteNonQuery()
      

  4.   

    Dim con As SqlClient.SqlConnection
            'Dim strCon As String
            'strCon = "SERVER=yuankena;DATABASE=CRM;UID=sa;PWD=;"
            Dim SqlCmd = "SELECT * from tblUser where UserID='" & Request.QueryString("ID") & "'"
            con = New SqlClient.SqlConnection(Context.GetConfig("appSettings")("dsn"))
            con.Open()
            Dim ada As New SqlClient.SqlDataAdapter(SqlCmd, con)
            Dim ds As New DataSet()
            ada.Fill(ds, "wendang")
            Dim FileByteArray() As Byte = ds.Tables(0).Rows(0).Item("Photo")
            Dim s = ds.Tables(0).Rows(0).Item("photo")
            s = FileByteArray.Length
            Response.ContentType = "image/pjpeg"
            Response.OutputStream.Write(ds.Tables(0).Rows(0).Item("Photo"), 0, CInt(s))
            con.Close()