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

MSSQL菜鳥需要您的指導...^^"
前往頁面 上一頁  1, 2, 3, 4, 5, 6, 7  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
syntech



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

第 16 樓

發表發表於: 星期六 九月 14, 2013 9:40 am    文章主題: 引言回覆

對細節有興趣,請找:
VFP 6 HELP 中程式設計指南
CH 8,19~22

或 VFP 9 HELP
[使用VFP][開發VFP應用程式]中
"處理資料"及"使用SQL傳遞技術增強應用程式"


在VFP8 後新增了"CursorAdapter",
基本上是延伸SPT(SQL pass-through SQL傳遞技術)的做法,
改用 ADO 物件與SQL Server 相連,提供對unicode (utf-8,...)的支援

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

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



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 17 樓

發表發表於: 星期六 九月 14, 2013 10:08 am    文章主題: 引言回覆

哈哈......(尷尬中
因為搞不清 SQLCONNECT() 和 SQLSTRINGCONNECT() 兩者的差異,
就給它隨便用,
好笑的是,
ODBC資料來源指向 Demo, 不是My_loto XD

根據16樓的解說,
對小弟來講好像第三種手動方式比較簡單,
可是
_sql=SQLEXEC(_sqlhandle,"select * from lt01 where lt01_001='01' order by lt01_001,lt01_002","_tmpf") 成功了

_sql=SQLEXEC(_sqlhandle,"use lt01") 失敗了 (ERROR CODE:911 資料'lt01'不存在......)
依您的例子, 小弟的 DSN=MsSQL
_sql=SQLEXEC(_sqlhandle,"use MsSQL") 一樣失敗了 (ERROR CODE:911 資料'lt01'不存在......)

小弟目前正在評估客戶端對 SQL SERVER 的實用性,
還想不出來為何要轉向 SQL SERVER 的方式,
應該是對後端處理的陌生造成的吧 @@"

比方FILE SERVER 的 lt01 資料表格內有100萬筆記錄,
select * from lt01 where lt01_001='01' AND between(lt01_003,'0901','0930') into cursor _tmpf

SQLEXEC(_handle,"select * from lt01 where lt01_001='01' AND between(lt01_003,'0901','0930')","_tmpf")
的差異在哪?
回頂端
檢視會員個人資料 發送私人訊息
syntech



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

第 18 樓

發表發表於: 星期六 九月 14, 2013 10:30 am    文章主題: 引言回覆

vfp 筆數越多越慢, 應該10萬筆內不分上下
sql server 比較沒有速度差異,相對就是筆數少時可能比vfp略慢. Orz
但是這跟很多因素(例如索引建立方式)有關.

如果按以前的討論中,
用dbf 等file server 的話,table scan 的搜尋方式導致網路流量激增.
但是用 sql server 的話,因為sql server 只會把你要的部分傳給你,
網路流量少一點,
但是sql server 硬體等級等影響也很大.



----
你那句很怪.

我只用過
代碼:

select * from table WHERE 單號 IN ('001','002','010') and 單價 between 100 and 500

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

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


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



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

第 19 樓

發表發表於: 星期六 九月 14, 2013 10:48 am    文章主題: 引言回覆

jerryclt 寫到:


_sql=SQLEXEC(_sqlhandle,"use lt01") 失敗了 (ERROR CODE:911 資料'lt01'不存在......)
依您的例子, 小弟的 DSN=MsSQL
_sql=SQLEXEC(_sqlhandle,"use MsSQL") 一樣失敗了 (ERROR CODE:911 資料'lt01'不存在......)




舉例通常都亂寫比較多. Twisted Evil


如果你要切換資料庫,
_sql=SQLEXEC(_sqlhandle,"use {資料庫名稱}")
不是用來 "use" 某個table. Laughing
但是要注意使用者權限.

用sqlexec 傳到後端的命令就要使用該sql server 的sql 語法標準.
而不是用foxpro 的語法.

例如:
SQLEXEC(_sqlhandle," select * from table where alltrim(品名) !='' ")
這句在m$ sql server 是錯的,
沒有 alltrim()函數,只有 ltrim()及rtrim() Laughing
要改成
SQLEXEC(_sqlhandle," select * from table where ltrim(rtrim(品名)) !='' ")

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

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



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

第 20 樓

發表發表於: 星期六 九月 14, 2013 4:56 pm    文章主題: 引言回覆

jerryclt 寫到:

根據16樓的解說,
對小弟來講好像第三種手動方式比較簡單,


2,3 本來就可以混合使用.

可以單純用SQL 命令直接處理的,
習慣上就直接用3處理掉.

需要在本地端作複雜運算的,
就用2來做,
可以把4個spt設定作成函式.

2的另外好處是,
可以把你的系統從使用DBF/DBC,
直接變成使用 SQL SERVER 的系統.
只要支援ODBC的話,
要接oracle,mysql 都可以.
覺得dbf 沒有未來,
接sqlite 也可以. Cool

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

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



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 21 樓

發表發表於: 星期一 九月 16, 2013 9:39 am    文章主題: 引言回覆

有一個奇怪的現象請教,
1.SET MULTILOCKS ON
2.store sqlstringconnect("dsn=sql001; userid=sa; pwd=123456") to xconnhandle
3.SQLEXEC(xconnhandle, 'use sql001')
4.SQLEXEC(xconnhandle, 'SELECT * FROM table001' ,'table001')

3到4時會有錯誤產生, (Invalid call issued while executing a SQLMORERESULT() sequence.)
如果改成:
3.SQLEXEC(xconnhandle, 'use sql001')
4.SQLCANCEL(xconnhandle)
5.SQLEXEC(xconnhandle, 'SELECT * FROM table001' ,'table001')
就過了, 不知是何原因?

另外一個則是,
=CURSORSETPROP("Buffering", 5 , 'table001' )
=CURSORSETPROP("Tables",'table001.field01','table001')
估且當成S大您的手誤...修正為:
=CURSORSETPROP("Tables",'table001','table001')
=CURSORSETPROP("KeyFieldList",'field01','table001')
=CURSORSETPROP("UpdatableFieldList" ,'field01,field02,field03','table001')
=CURSORSETPROP("UpdateNameList",'field01 table001.f01,field02 table001.f02,field03 table001.f03','table001')
=CURSORSETPROP("SendUpdates" ,.t.,'table001')

select TABLE001 <-- 出現: 找不到別名 TABLE001

請問小弟有哪裡又搞錯了嗎?
回頂端
檢視會員個人資料 發送私人訊息
syntech



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

第 22 樓

發表發表於: 星期一 九月 16, 2013 10:44 am    文章主題: 引言回覆

1. 你的問題,可能是在某處的SQLEXEC 導致此處問題發生
但下SQLCANCEL()也沒錯.

因為這一句不傳回CURSOR,所以有SQLMORERESULTS( )一定會錯.


2.去看HELP,或是尋找舊文,你就知道該填什麼進去.

3.如果你是連續出錯,那根本沒傳回CURSOR TABLE01.第1點就錯了


-----
看別人化簡過的資料一定會有漏洞出現,
你應該先看完官方文件,
再看看別人怎麼化簡步驟.

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

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



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


第 23 樓

發表發表於: 星期一 九月 16, 2013 11:23 am    文章主題: 引言回覆

就jerryclt所提的問題
我的感想是
jerryclt對sql的基礎很薄弱
應該先不用急著操指令
應該先去K幾本書
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 24 樓

發表發表於: 星期一 九月 16, 2013 11:29 am    文章主題: 引言回覆

測試PASSED.
除了上述 table001.field01 這句要改成 table001 外,
其他都沒錯...錯的是小弟在 SELECT &table001 之前,
有以前VFP留下來的老鼠屎 ---- CLOSE DATABASE @@"

現在只剩下一個 INDEX 的問題了,
小弟加了一段如下:
SELECT 0
USE &table001 ALIAS m&_table001 AGAIN ORDER &field01

系統回應: "資料表格沒有設定索引次序。"

依本例: =CURSORSETPROP("KeyFieldList",'field01','table001')
主鍵值欄位應該是 field01 沒錯吧?!
但是實際上小弟設的主鍵值欄位是 field01+field02, 主鍵值名稱定為 field01,
小弟試過
field01 / field01+field02 / field01,field02
三種都不正確, 但是
=CURSORSETPROP("KeyFieldList",'field01','table001') 傳回 .T.
再請教您...不知是何故?
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 25 樓

發表發表於: 星期一 九月 16, 2013 11:39 am    文章主題: 引言回覆

ckp6250 寫到:
就jerryclt所提的問題
我的感想是
jerryclt對sql的基礎很薄弱
應該先不用急著操指令
應該先去K幾本書


ckp大就別挖苦小弟了 = ="
[薄弱]是太看得起小弟的說法!
不久前才說明剛安裝完 MYSQL,
後來覺得被它打敗,
趕快換條路試試 MSSQL...

小弟也想買一堆相關書藉來K,
但是時間緊迫加上事關民生問題哪!
最近小弟工作室支撐不下去想找工作,
對方開出的技能及專長要求:
1.MS SQL Server維護及操作的能力
2.Visual FoxPro開發能力
3.標示語言 XML 的操作

所以急著想要了解一下MSSQL的基本概念,
其他的就以經驗來換取時間 = ="

(如果光看書真的可行, 咱的小孩就不用去學校了)


jerryclt 在 星期一 九月 16, 2013 11:43 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息
syntech



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

第 26 樓

發表發表於: 星期一 九月 16, 2013 11:42 am    文章主題: 引言回覆

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

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



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

第 27 樓

發表發表於: 星期一 九月 16, 2013 11:45 am    文章主題: 引言回覆

另外,用 SQLEXEC 取回的CURSOR,
是沒有index的,
要重新下index on ....,
而且要在"最短時間"內建立index, Orz

只能意會......

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

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



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 28 樓

發表發表於: 星期一 九月 16, 2013 1:12 pm    文章主題: 引言回覆

了解了,
多謝S大整篇下來的耐心解說,
老實說,
以S大的作風,
今番真出乎咱的意料之外!
呵呵......^^

再次感謝!
回頂端
檢視會員個人資料 發送私人訊息
syntech



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

第 29 樓

發表發表於: 星期一 九月 16, 2013 2:15 pm    文章主題: 引言回覆

"MS SQL Server維護及操作的能力"

看到鬼.
m$ 每個版本的ms sql server 都會創造出一堆以前沒有的問題.
到底要多會才叫有"維護及操作的能力" 凸(\./ #)

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

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



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


第 30 樓

發表發表於: 星期一 九月 16, 2013 2:58 pm    文章主題: 引言回覆

syntech 寫到:

m$ 每個版本的ms sql server 都會創造出一堆以前沒有的問題.


夫子言之,于我心有戚戚焉
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2, 3, 4, 5, 6, 7  下一頁
2頁(共7頁)

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


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