所有新聞群組討論區列表 風禹科技驗證有限公司 Web News Reader

目前新聞群組:tw.bbs.comp.lang.fortran

說明

此主題討論共計 6 篇文章。

請問fortran可以直接讀Mdb

不會用fortran的蠢蛋2006/8/22 下午 03:13:43僅瀏覽本文回覆 | 回信 | 轉寄
請問版上的大大們,
fortran可以直接讀Access的.Mdb嗎?
又該如何實做呢?

感激不盡...
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran
璉璉2006/8/23 上午 10:24:00僅瀏覽本文回覆 | 回信 | 轉寄
Fortran 沒有任何直接讀取資料庫的設計。

可以考慮的方式如下:
1. 想辦法取得 mdb 的格式白皮書,直接以二進位檔方式讀取。通常不採用。

2. 使用兩套支援 .Net framework 的 Fortran ,直接使用 ADO.NET 讀取。這兩套灌上去都有內建範例可參考。去年測的經驗是 Lahey/Fujitsu Fortran 中文支援有問題,FTN95 for Microsoft .NET & Win32 4.6 日期支援有問題。之後這兩套也有分別各推出更新版,更新版沒測過。

3. 使用協力廠商包裝好的 SQL 查詢函數庫,例如 f90SQL :
http://www.canaimasoft.com/

4. 如果夠熟悉 Windows API 的話,可以在 Visual Fortran 系列裡面呼叫 COM ,所以可以直接叫用 ADO 來查詢資料庫。

==> 本文由 "不會用fortran的蠢蛋 <someone@microsoft.com>"
[系統略除,原始全文請點選瀏覽本文]


--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.3 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計新討論區 MSDN 技術論壇,網友回覆後即時簡訊、電子郵件通知:
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran
不會用fortran的蠢蛋2006/8/24 上午 10:26:18僅瀏覽本文回覆 | 回信 | 轉寄
第三種方案正在嘗試中,
不過他的sample code並沒有很清楚 @@
加上自己功力不足...
感覺還是要替f90SQL debug...

若使用VB .NET來來呼叫資料庫,
編程時候會不會方便很多?
畢竟.net就有支援了...

==> 本文由 "璉璉 <devil@tainan.com.tw>"
[系統略除,原始全文請點選瀏覽本文]


--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran
璉璉2006/8/24 下午 03:43:06僅瀏覽本文回覆 | 回信 | 轉寄
前面說的 2. 的部份本身是 Fortran.Net ,只要你熟悉 ADO.NET 就可以用,編譯器也附範例可參考。那些問題都是我一年前測的問題,你可以試試看現在解決沒。[當時碰到問題我也有去原廠官版問過]

我自己是透過 VB 轉成 csv 格式後,再給 visual fortran 系列用。

日期的部分我有公開我的函式庫:
http://tlcheng.twbbs.org/TLCheng/Net/NetList.aspx?Action=Module&Module=20

==> 本文由 "不會用fortran的蠢蛋 <someone@microsoft.com>"
[系統略除,原始全文請點選瀏覽本文]


--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.3 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計新討論區 MSDN 技術論壇,網友回覆後即時簡訊、電子郵件通知:
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran
璉璉2006/8/24 下午 03:46:21僅瀏覽本文回覆 | 回信 | 轉寄
這句沒回的很清楚。

基本上,不會考慮在 Fortran 內直接存取資料庫。
因為很多變數類型並不被 Fortran 支援,硬要做只是自己找自己麻煩而已,除非老闆堅持,老闆也願意花那個成本。

在 Fortran 內存取資料庫的開發成本是 VB 的 10 倍以上。

==> 本文由 "不會用fortran的蠢蛋 <someone@microsoft.com>"
[系統略除,原始全文請點選瀏覽本文]

>> 若使用VB .NET來來呼叫資料庫,
[系統略除,原始全文請點選瀏覽本文]


--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.3 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計新討論區 MSDN 技術論壇,網友回覆後即時簡訊、電子郵件通知:
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran
someone2008/11/5 上午 11:17:07僅瀏覽本文回覆 | 回信 | 轉寄
要讓fortran讀得懂Mdb之前必需作一些設定
建立程式與ODBC 連線
1.設定ODBC
2.用ODBC資料來源
3.設定Mdb資料管理員
完成了以上設定之後...
1.透過Window API呼叫Mdb資料
1)程序轉換C函式
!執行ODBC之SQL函式次序如下:
integer function WinMain( hInstance, hPrevInstance, lpszCmdLine, nCmdShow )
!DEC$IF DEFINED(_X86_)
!DEC$  ATTRIBUTES STDCALL, ALIAS : '_WinMain@16' :: WinMain
!DEC$ELSE
!DEC$  ATTRIBUTES STDCALL,ALIAS : 'WinMain' :: WinMain
!DEC$ENDIF
use dfwin
use VFC_SQL
integer hInstance
integer hPrevInstance
integer nCmdShow
integer lpszCmdLine
integer*4 hdbcl,henvl,hstmtl,iret
character*265 comstr
    
! 與資料庫連接
      iret = 0
      call VFC_SQLAllocEnv(henvl,iret)        if ( iret.lt.0 ) then
            stop
        endif
     call VFC_SQLAllocConnect(henvl,hdbcl,iret)        if ( iret.lt.0 ) then
            stop
        endif
     call VFC_SQLConnect(hdbcl,"mdb"C,INT2(SQL_NTS),""C,INT2(0),""C,INT2(0),iret)
        if ( iret.lt.0 ) then
            stop
        endif
     call VFC_SQLAllocStmt(hdbcl,hstmtl,iret)
        if ( iret.lt.0 ) then
            stop
        endif

! 寫入Access
     comstr = "CREATE TABLE book1(NAME VARCHAR(20),Age INTEGER)"
     call VFC_SQLExecDirect(hstmtl,comstr,SQL_NTS,iret)
     comstr = "INSERT INTO book1 (NAME,Age) VALUES ('anything',26)"//char(0)
     call VFC_SQLExecDirect(hstmtl,comstr,SQL_NTS,iret)
!中斷資料庫連接
     call VFC_sqldisconn(hdbcl,henvl,hstmtl)
WinMain = 0
end
     comstr = "CREATE TABLE book1(NAME TEXT,Age NUMBER)"
     call VFC_SQLExecDirect(hstmtl,comstr,SQL_NTS,iret)
     comstr = "INSERT INTO book1 (NAME,Age) VALUES (anything,26)"//char(0)
     call VFC_SQLExecDirect(hstmtl,comstr,SQL_NTS,iret)
!中斷資料庫連接
     call VFC_sqldisconn(hdbcl,henvl,hstmtl)
WinMain = 0
end


--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.lang.fortran

基本條件

.Net 原始碼 | ASP.NET News Reader Beta 0.2.9

請參閱

個人資料 | 發表新文章 | 搜尋 | 列印 預覽 直接

重要訊息通知

2007/06/21 由於微軟新聞伺服器移除多數新聞群組 (newsgroup),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]