Надо загрузить word файл из базы SQL Server 2000 - VB

Узнай цену своей работы

Формулировка задачи:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Strm As New ADODB.Stream
Dim wa as New Word.Application
Dim wd As New Word.Document
cn.Provider = "sqloledb"
cn.Properties("Data Source").Value = "ServerName"
cn.Properties("Initial Catalog").Value = "Database Name"
cn.Properties("Integrated Security").Value = "SSPI"
cn.Open
rs.Open "Select * From TableName", cn
вот мне надо запихнуть туда word файл и загрузить если нужно, кто нибудь знает как это можно делать?
когда я с access делаю это вот так (в access е у меня тип поля OLE Object):
Strm.Open
Strm.Type = adTypeBinary
Strm.Write rs.Filds("File").Values
Strm.SaveToFile "C:\temp.bin"
Strm.Close
Set wd = wa.Documents.Open("C:\temp.bin")
cn.Close
rs.Close
Set cn = Nothing
Set rs = Nothing
Call wd.Close
Call wa.Quit
Set wa = Nothing
Set wd = Nothing
вот тепер не знаю где ошибка подскажите пожалуста или если знаете другой метод скажите этот.
Но мне надо с SQL.
Спасибо.

Решение задачи: «Надо загрузить word файл из базы SQL Server 2000»

textual
Листинг программы
<font color="blue">Dim</font> cn <font color="blue">As</font> <font color="blue">New</font> ADODB.Connection

<font color="blue">Private</font> <font color="blue">Sub</font> Command1_Click()
<font color="blue">Dim</font> rs <font color="blue">As</font> <font color="blue">New</font> ADODB.Recordset
    CommonDialog1.Filter = <font color="teal">"Word Files (*.doc)|*.doc"</font>
    CommonDialog1.ShowOpen
    rs.<font color="blue">Open</font> <font color="teal">"select top 1 * from categories"</font>, cn, adOpenStatic, adLockBatchOptimistic
    rs(<font color="teal">"Picture"</font>).Value = ReadFile(CommonDialog1.FileName)
    rs.UpdateBatch
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Private</font> <font color="blue">Sub</font> Command2_Click()
<font color="blue">Dim</font> rs <font color="blue">As</font> <font color="blue">New</font> ADODB.Recordset
<font color="blue">Dim</font> wa <font color="blue">As</font> <font color="blue">New</font> Word.Application
<font color="blue">Dim</font> wd <font color="blue">As</font> <font color="blue">New</font> Word.Document
    rs.<font color="blue">Open</font> <font color="teal">"select top 1 * from categories"</font>, cn, adOpenStatic, adLockBatchOptimistic
    WriteFile <font color="teal">"c:\doc1.doc"</font>, rs(<font color="teal">"Picture"</font>).Value
    <font color="blue">Set</font> wd = wa.Documents.<font color="blue">Open</font>(<font color="teal">"c:\doc1.doc"</font>, , False)
    wa.Visible = True
    <font color="blue">Set</font> wd = <font color="blue">Nothing</font>
    <font color="blue">Set</font> wa = <font color="blue">Nothing</font>
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Private</font> <font color="blue">Sub</font> Form_Load()
    cn.CursorLocation = adUseClient
    cn.<font color="blue">Open</font> <font color="teal">"driver={sql server};server=(local);database=NorthWind;"</font>
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Public</font> <font color="blue">Function</font> ReadFile(path <font color="blue">As</font> <font color="blue">String</font>) <font color="blue">As</font> <font color="blue">Byte</font>()
<font color="blue">Dim</font> r() <font color="blue">As</font> <font color="blue">Byte</font>
    <font color="blue">If</font> Dir(path) = <font color="teal">""</font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Function</font>
    <font color="blue">Open</font> path <font color="blue">For</font> Binary <font color="blue">As</font> #<font color="darkblue"><b>1</b></font>
    <font color="blue">ReDim</font> r(LOF(<font color="darkblue"><b>1</b></font>) - <font color="darkblue"><b>1</b></font>)
    <font color="blue">Get</font> #<font color="darkblue"><b>1</b></font>, , r
    <font color="blue">Close</font> #<font color="darkblue"><b>1</b></font>
    ReadFile = r
<font color="blue">End</font> <font color="blue">Function</font>

<font color="blue">Public</font> <font color="blue">Sub</font> WriteFile(path <font color="blue">As</font> <font color="blue">String</font>, conts() <font color="blue">As</font> <font color="blue">Byte</font>)
    <font color="blue">If</font> Dir(path) <> <font color="teal">""</font> <font color="blue">Then</font> <font color="blue">Kill</font> path
    <font color="blue">Open</font> path <font color="blue">For</font> Binary <font color="blue">As</font> #<font color="darkblue"><b>1</b></font>
    <font color="blue">Put</font> #<font color="darkblue"><b>1</b></font>, , conts
    <font color="blue">Close</font> #<font color="darkblue"><b>1</b></font>
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5