Jump to content
Sign in to follow this  

read db column(memo) line by line from visual foxpro db

Recommended Posts



i use the following code to connect to a Visual Foxpro db:

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
$sqlCon = ObjCreate("ADODB.Connection")
    $sqlCon.Mode = 16 ; sharedenynone
    $sqlCon.CursorLocation = 3 ; client side cursor
    $sqlCon.Open("Provider=vfpoledb.1;Data Source=x:\DATA\;Collating Sequence=general;")
    if @error Then
        MsgBox(0, "ERROR", "Failed to connect to the database")

    $sqlRs = ObjCreate ("ADODB.Recordset")
    if not @error Then
        $sqlRS.open("select IDENT, PICTURES from gbmas.dbf where STATUS = 'I'", $sqlCon)
        if not @error Then
            ;Loop until the end of file
                While Not $sqlRS.EOF
                    ;Retrieve data from the following fields
                    $OptionName = $sqlRS.Fields('IDENT').Value
                    $OptionVal = $sqlRS.Fields('PICTURES').Value

                      Local $sFileRead = FileReadLine($OptionVal, 1)
                     MsgBox($MB_SYSTEMMODAL, "", "First line of the file:" & @CRLF & $sFileRead)
                    ;MsgBox(0, "Record Found", "Nummer: " & $OptionName & @CRLF & "GTYP: " & $OptionVal)
            $sqlCMD = ObjCreate("ADODB.Command")

            $sqlCMD.ActiveConnection = $sqlCON
            $sqlCMD.CommandText = "update Opts.dbf set value = '.F.' where name = 'Option1'"


the column "Pictues" have multiple rows with unc paths.

i want to read the content of the column "pictures" line by line to copy the unc files to another destionation with filecopy.

i start to try with fileread line. but it does not work.

Any ideas ?

many thanks


the content of column pictures looks like:






Edited by mike34

Share this post

Link to post
Share on other sites

What is the value of $OptionVal after this line?

$OptionVal = $sqlRS.Fields('PICTURES').Value

I would expect it to contain all of the unc paths. If so, you may be able to use StringSplit to get an array that you could then process one element at a time.

Share this post

Link to post
Share on other sites

many thanks....

$array = Stringsplit($getrimmt, chr(13) & chr(10), $STR_ENTIRESPLIT) was the answer :-)





Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.