none
retrive ms word doc from sql datbase in windows form RRS feed

  • Вопрос

  • Hello

    My name is Alex. I have a database in sql server :

    Id  int,

    Name  varchar(50),

    ContentType  varchar(50),

    Data  varbinary(max).

    I can store MS Word .doc file into database: 

    protected void InsertDoc_Click(object sender, EventArgs e)

            {

                // Read the file and convert it to Byte Array

                string filePath = "SOME FILE PATH";

                string filename = Path.GetFileName(filePath);

     

                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);

                BinaryReader br = new BinaryReader(fs);

                Byte[] bytes = br.ReadBytes((Int32)fs.Length);

                br.Close();

                fs.Close();

     

                //insert the file into database

                string strQuery = "insert into tblFiles(Name, ContentType, Data) values (@Name, @ContentType, @Data)";

                SqlCommand cmd = new SqlCommand(strQuery);

                cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename;

                cmd.Parameters.Add("@ContentType", SqlDbType.VarChar).Value = "application/vnd.ms-word";

                cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes;

                InsertUpdateData(cmd);

            }

    But I dont know how to retrive document and after open in MS Word.

    Please help me ...

    P.S.  please type some code, if you hnow how to solve this problem.

    Respect, Alex

    • Перемещено Abolmasov Dmitry 18 апреля 2011 г. 5:55 (От:Работа в среде Visual Studio)
    15 апреля 2011 г. 12:24

Ответы

  • 1. это русскоязычный форум - можно по русски.

    2. В Вашем случае если у вас есть доступ к базе, напишите хранимую процедуру, которая таким же образом будет вычитывать набор байт из БД как out переменная.

    3. Создайте файл на диске с расширением док/докх - где либо - тоесть восстановите первичный файл, сгенерируйте ему имя и запишите туда ваши вычитаные байты.

    4. Запустите новый процесс, передав в него путь к вашему файлу: Process.Run ("путь/имя.docx"); 

    Word сам запуститься и попробует открыть ваш файл.


    Don't forget to mark the correct answer Blog
    • Помечено в качестве ответа Abolmasov Dmitry 18 апреля 2011 г. 5:55
    16 апреля 2011 г. 19:24