Software Archive
Read-only legacy content
17061 Discussions

odbc calls in cvf6.5

rahzan
New Contributor I
666 Views
Is there a complete example of how to do odbc calls to read/write things to an odbc connection? (e.g. access or ms-sql).

Much obliged.
Tim Hatamian
Mathematicus Labs
0 Kudos
4 Replies
Steven_L_Intel1
Employee
666 Views
I suggest using f90SQL-Lite, which you can find on the CVF 6.5 Companion Products CD, or at Canaima Software's web site This provides an easy to use interface and examples.

Steve
0 Kudos
rahzan
New Contributor I
666 Views
Steve,
Thanks fo the quick reply. Have you used the f90sql lite yourself??

it seems like that it is included in the install CD as demo only. Based on its help-files it does not even do the simplest of functions such as updating a table (i.e. chapter-5). For that the so called "pro" (i.e. "not the demo" version?) is needed.

It seems that I should not need the expensive additional library...
Any ideas?

Thanks, Tim

p.s. (I'm a 1st time user) where in the project settings do the directories for the "modules" go??
0 Kudos
canaimasoft
Beginner
666 Views
Hi Tim (and everybody),

I'm not sure my previous replies went in, so Steve, if they did, please you can discard this message. The Reply to Message seems to be getting into an endless loop.

You can pretty much do anything with f90SQL-Lite that you can do with f90SQL-Pro (including Update queries). The main differences between both versions are these:

1) With f90SQL-Lite you cannot use parameterized queries. In f90SQL-Pro you can write a query like this:

'UPDATE MyTable SET Field=?'

where ? represents a parameter that is set at run time, and which value can change with each execution of the SQL statement. With f90SQL-Lite, your query must be formed completely before you can send it to the server, so you would have to write something like:

'UPDATE MyTable SET Field=5'

Parameterized queries can enhance performance because the SQL server doesn?t have to compile the query string with each execution of the query. This is particularly useful when, for example, you need to send update queries from inside a Fortran loop that computes the values for the update.

2) f90SQL-Lite is optimized to work with small record sets (of up to about 255 records). This means that for larger record-sets you need to pull data in sections of 255 or less records at a time. Our web site (and the readme.txt installed with the software) explain how to overcome this limitation, which is not present in f90SQL-Pro.

3) f90SQL-Pro includes the f90SQL-Wizard. The Wizard is actually a set of programs with GUIs that let you browse the structure and data in a database, create and test queries, etc. Best of all, once you have developed a query, you can use the f90SQL Module Wizard to produce a Data Access Module. The Data Access Module is a Fortran module that encapsulates access to the columns (or parameters) in your query and exposes simple methods to navigate the record-sets produced by the query. All the bindings etc. are automatically generated. With this wizard, writing a program to read (update) a database could take less that 5 minutes.

There are also some other minor differences between both versions of f90SQL. I suggest you read the readme.txt file in your installation for the complete docuementation of these differences.

The installation of f90SQL-Lite includes two examples that Update/Write new data to an Excel spreadsheet using f90SQL-Lite (check ExcelUpdateLite.f90 and ExcelWriteLite.f90). The process to update/write new data to a database table is exactly the same.

If you need any help with the use of f90SQL, you can contact me directly (mgarcia@canaimasoft.com) or our support group (support@canaimasoft.com) with your questions.

Best regards,

Marco A. Garcia
Canaima Software, Inc.
http://www.canaimasoft.com
Developers of f90SQL the Database Connectivity Solution for Fortran, and f90VB the Library for Fortran-OLE Automation and Fortran
0 Kudos
Steven_L_Intel1
Employee
666 Views
You specify the directories for modules under Project..Settings..Fortran..Preprocessor..Include paths. Not obvious, I know.

Steve
0 Kudos
Reply