VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教各位大大,PHP使用VFP資料庫,SQL語法的一些問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
esther75952



註冊時間: 2013-11-26
文章: 2


第 1 樓

發表發表於: 星期二 十一月 26, 2013 12:31 pm    文章主題: 請教各位大大,PHP使用VFP資料庫,SQL語法的一些問題 引言回覆

各位前輩好!
小弟目前在使用PHP寫程式,但需要連接VFP的資料庫
我使用的是ADODB,應該就是OLEDB連接方法
但在VFP可執行的一些SQL指令,在PHP就沒辦法使用

比如說,我想將SELECT的結果INTO CURSOR到一個暫存資料表
在VFP執行事都沒問題,只是到PHP,一樣的SQL語法,卻讀不到那個暫存資料表

我試過了很多方法,比如說,將暫存資料表,放在我指定的目錄,而我第二道SELECT的時候,再去存去此目錄的資料表
只可惜,不管怎麼稿都沒辦法

還有一個問題是,GROUP BY的問題
因為我VFP為9.0,有GROUP BY嚴謹的寫法
就是必須我SELECT的欄位,一定要全部都GROUP BY
這樣其實很麻煩,對處理很多SQL問題,都難以解決
我知道VFP有個SET ENGINEBEHAVIOR 70這個設定,好像是可以向下相容
可惜是我的PHP沒辦法執行此命令

這兩個問題真的很困擾
我想,在這邊問PHP有點奇怪,不過真的想破頭了,還是沒辦法解決這兩個問題,才會想說,VFP高手大大是否有其他可替代的方法
Sad

如果各位大大有類似這樣的經驗,不曉得能否為小弟我,稍微指點迷津一下!
真的非常謝謝你們!
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 2 樓

發表發表於: 星期二 十一月 26, 2013 2:50 pm    文章主題: 引言回覆

INTO CURSOR 是 VFP 的『獨門絶活』
php 沒有這一招
您就算想破頭了,也無解!
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 3 樓

發表發表於: 星期二 十一月 26, 2013 3:11 pm    文章主題: 引言回覆

如果是這樣, 那將into cursor 改成 into table 變成實體的table可能有解.
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 4 樓

發表發表於: 星期二 十一月 26, 2013 4:04 pm    文章主題: 引言回覆

1. 我記得用 VFP ODBC DRIVER 是 VFP6 的引擎, VFP OLE DB DRIVER 是 VFP8的引擎.
但是請自己實驗看看.

2. 如果你要下超複雜VFP 命令.
個人建議做一個 VFP DCOM,
把命令傳給這個物件,處理完成後,做成JSON資料傳回來.


3. 樓主的意思是要把SELECT 的結果先暫存到某個CURSOR,再下第二個命令處理成另一個結果這樣嗎?
應該是要INTO TABLE 變成實體檔案才可以.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙


syntech 在 星期二 十一月 26, 2013 4:13 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
小賴



註冊時間: 2004-12-27
文章: 470


第 5 樓

發表發表於: 星期二 十一月 26, 2013 4:07 pm    文章主題: 引言回覆

<< 還有一個問題是,GROUP BY的問題



不在 GROUP BY 次欄位 ; 可使用 MAX()或MIN()提出; 例如

SELECT No, MAX(Name) AS Name FROM Ploy ;
GROUP BY No INTO CURSOR OO
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
esther75952



註冊時間: 2013-11-26
文章: 2


第 6 樓

發表發表於: 星期二 十一月 26, 2013 8:08 pm    文章主題: 引言回覆

謝謝各位大大的回覆!
我有嘗試過用INTO TABLE了,只是結果還是會有錯誤
不過還是非常謝謝各位前輩的指導!

回復: syntech大大:
本來我是都用ODBC連接VFP的資料庫,我也覺得這方面用的比較習慣,只是就像你說的,有版本的問題
而且VFP好像也沒打算開發支援9.0的ODBC,所以才會使用OLEDB
只是本身對PHP支援OLEDB這方面,都不是很熟悉,所以才會有發生很多令人頭痛的問題
不過非常謝謝你給我第二個意見,我會去研究試看看的!

回復 小賴 大大:
您的回覆真讓小弟我大開眼界,原來還有這樣的方法可以用!
真的非常謝謝你!

雖然目前,還是卡在ADODB好像無法將SELECT出的資料輸出到暫存檔
不過看了各位大大的回覆,真的是受益良多!謝謝!
回頂端
檢視會員個人資料 發送私人訊息
yctsai



註冊時間: 2003-04-11
文章: 179


第 7 樓

發表發表於: 星期二 十一月 26, 2013 9:48 pm    文章主題: 引言回覆

1.既然php可讀取vfp的table,似乎應該在php讀取之後再用array等方式作進一步處理
2.不應該用 "我想將SELECT的結果INTO CURSOR到一個暫存資料表 " 等VFP的思維來作
3.最近完成PHP系統的心得
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 8 樓

發表發表於: 星期二 十一月 26, 2013 11:49 pm    文章主題: 引言回覆

yctsai 寫到:
1.既然php可讀取vfp的table,似乎應該在php讀取之後再用array等方式作進一步處理


簡單的可以,複雜的不行,
有效率問題,沒有SQL支援,必須用FOR EACH硬搞.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
slboy



註冊時間: 2004-10-22
文章: 5


第 9 樓

發表發表於: 星期四 十二月 05, 2013 1:25 am    文章主題: 引言回覆

在php中调用 vfp编译的com(编译后是dll)吧! 这样就可应用vfp的语法了.
回頂端
檢視會員個人資料 發送私人訊息
goodnight



註冊時間: 2008-10-13
文章: 472
來自: 台南市

第 10 樓

發表發表於: 星期四 十二月 05, 2013 10:44 pm    文章主題: 引言回覆

我有一個笨方法, 把要用的vfp資料 insert into 到mysql, 應該就更容易使用了
_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
nelsonchuang



註冊時間: 2003-09-04
文章: 563
來自: 臺灣

第 11 樓

發表發表於: 星期日 二月 23, 2014 8:29 pm    文章主題: 引言回覆

無意中看到這篇文章..
http://sharedderrick.blogspot.tw/2011/11/sql-server-2012-ole-db-odbc.html
如果使用old db的人,可能要注意一下.

_________________
大家好,請多指教
回頂端
檢視會員個人資料 發送私人訊息
kalok



註冊時間: 2010-08-26
文章: 284


第 12 樓

發表發表於: 星期二 六月 10, 2014 11:26 am    文章主題: 引言回覆

MS早就不support ODBC, 連OLE DB 也將不用
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 13 樓

發表發表於: 星期三 六月 11, 2014 9:59 am    文章主題: 引言回覆

注意看 11 樓的連結:

http://sharedderrick.blogspot.tw/2011/11/sql-server-2012-ole-db-odbc.html

-----
ODBC 是業界存取資料庫的標準,SQL Azure 亦是支援 ODBC 方式來存取。而且與其他方式比較起來,ODBC 會是更容易使用的。

而 SQL Server 2012 (codename:Denali) 會是最後一個提供 Microsoft SQL Server OLE DB 支援的版本。

目前,是不用急著修改應用程式,因為在 SQL Server 2012 產品技術支援週期內仍是繼續可以使用(註1)。

但對於在設計未來的開發規劃上,就應該改用 ODBC。

-----

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙


syntech 在 星期三 六月 11, 2014 10:03 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 14 樓

發表發表於: 星期三 六月 11, 2014 10:02 am    文章主題: 引言回覆

M$ 為了 SQL SERVER 2012/2014 也更新了ODBC DRIVER

http://technet.microsoft.com/zh-tw/library/jj730308(v=sql.110).aspx

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
kalok



註冊時間: 2010-08-26
文章: 284


第 15 樓

發表發表於: 星期五 八月 01, 2014 10:35 am    文章主題: 引言回覆

不知有否用在 VFP 資料庫上
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作