 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 31 樓
|
發表於: 星期五 八月 09, 2013 2:24 pm 文章主題: |
|
|
直接下SQL 命令.
代碼: |
store sqlstringconnect("dsn=MySQL_TEST; userid=root; pwd=123456") to xconnhandle
SQLEXEC(xconnhandle, 'use successtime')
select invoice01
go top
if !eof()
do while !eof()
V1 = invoice01.F1
V2 = invoice01.F2
.
.
.
nC = "insert into successtime.invoice01(F1,F2,F3,....) values (?V1,?V2,?V3,...)"
sqlexec(xconnhandle,nC)
skip
enddo
endif
sqlcancel(xconnhandle)
sqldisconnect(xconnhandle)
|
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期五 八月 09, 2013 2:45 pm 作了第 4 次修改 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 32 樓
|
發表於: 星期五 八月 09, 2013 2:35 pm 文章主題: |
|
|
SPT 方法 (未DEBUG):
代碼: |
SET MULTILOCKS ON
store sqlstringconnect("dsn=MySQL_TEST; userid=root; pwd=123456") to xconnhandle
SQLEXEC(xconnhandle, 'use successtime')
SQLEXEC(xconnhandle, 'SELECT * FROM successtime.invoice01' ,'mysql_cursor')
=CURSORSETPROP("Buffering", 5 , 'mysql_cursor' )
=CURSORSETPROP("Tables",'successtime.invoice01','mysql_cursor')
=CURSORSETPROP("KeyFieldList",[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("UpdatableFieldList" ,[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("UpdateNameList",[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("SendUpdates" ,.t.,'mysql_cursor')
SELECT mysql_cursor
APPEND FROM invoice01.DBF
= TABLEUPDATE(.t. )
sqldisconnect(xconnhandle)
|
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期五 八月 09, 2013 2:44 pm 作了第 1 次修改 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 33 樓
|
發表於: 星期五 八月 09, 2013 2:37 pm 文章主題: |
|
|
上面兩種方式應該夠混口飯吃了. ^_^
不限於 MYSQL,
ORACLE,MSSQL,....... 只要支援 ODBC 就可以用.
有UNICODE 需求的,可以改用 VFP9 的 CursorAdapter.
此外,樓主應該更瞭解自己的武器,
還有很多沒有發揮出來.
其他就看個人造化. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 34 樓
|
發表於: 星期五 八月 09, 2013 4:20 pm 文章主題: |
|
|
[quote="syntech"]直接下SQL 命令.
[code]
store sqlstringconnect("dsn=MySQL_TEST; userid=root; pwd=123456") to xconnhandle
SQLEXEC(xconnhandle, 'use successtime')
select invoice01
go top
if !eof()
do while !eof()
V1 = invoice01.F1
V2 = invoice01.F2
.
.
.
nC = "insert into successtime.invoice01(F1,F2,F3,....) values (?V1,?V2,?V3,...)"
sqlexec(xconnhandle,nC)
skip
enddo
endif
sqlcancel(xconnhandle)
sqldisconnect(xconnhandle)
[/code][/quote]
現正試用這方法, 已成功了一大步, 只有一個小問題, 括號內F1, F2, F3, 是實體FEILD NAME (例如: (name, tel, sex)), 還是像V1, V2, V3, 是一個變數, 如果是變數, 也要加上"?"在每一個變數前面嗎? |
|
回頂端 |
|
 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 35 樓
|
發表於: 星期五 八月 09, 2013 4:24 pm 文章主題: |
|
|
[quote="syntech"]SPT 方法 (未DEBUG):
[code]
SET MULTILOCKS ON
store sqlstringconnect("dsn=MySQL_TEST; userid=root; pwd=123456") to xconnhandle
SQLEXEC(xconnhandle, 'use successtime')
SQLEXEC(xconnhandle, 'SELECT * FROM successtime.invoice01' ,'mysql_cursor')
=CURSORSETPROP("Buffering", 5 , 'mysql_cursor' )
=CURSORSETPROP("Tables",'successtime.invoice01','mysql_cursor')
=CURSORSETPROP("KeyFieldList",[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("UpdatableFieldList" ,[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("UpdateNameList",[自己看 SPT 說明..........],'mysql_cursor')
=CURSORSETPROP("SendUpdates" ,.t.,'mysql_cursor')
SELECT mysql_cursor
APPEND FROM invoice01.DBF
= TABLEUPDATE(.t. )
sqldisconnect(xconnhandle)
[/code][/quote]
假若, 我下一步也會研究一下這方法, 請問那裡可以找到SPT說明?
真的..萬二分感謝synetch 及 ckp 不厭其煩的解答, 在這裡, 真的學懂很多很多, 這裡就像是我們新手的天堂.. |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 36 樓
|
發表於: 星期五 八月 09, 2013 6:05 pm 文章主題: |
|
|
SPT的方法,資料量少時還好
若是大資料量就要考慮了
不過,多方比較,總是有益 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 37 樓
|
發表於: 星期六 八月 10, 2013 8:01 am 文章主題: |
|
|
那要看你怎麼定義"資料量大".
數千筆內,差異不大.
幾萬筆,大家都慢,慢多慢少而已.
不需要考慮這麼多,
前面說了,夠用了. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
kalok
註冊時間: 2010-08-26 文章: 284
第 38 樓
|
發表於: 星期日 八月 11, 2013 11:50 am 文章主題: |
|
|
>有UNICODE 需求的,可以改用 VFP9 的 CursorAdapter.
unicode 是 vfp 的大缺點, cursoradapter 能解決多少? |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 39 樓
|
發表於: 星期日 八月 11, 2013 5:32 pm 文章主題: |
|
|
kalok 寫到: | >有UNICODE 需求的,可以改用 VFP9 的 CursorAdapter.
unicode 是 vfp 的大缺點, cursoradapter 能解決多少? |
顯示物件外都能解決. XD.
但是顯示物件沒解決,也等於沒解決.
不過,本站找得到解決顯示物件的方法.
偉大的站長作的範例 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 40 樓
|
發表於: 星期一 八月 12, 2013 12:05 pm 文章主題: |
|
|
[quote="syntech"]直接下SQL 命令.
[code]
store sqlstringconnect("dsn=MySQL_TEST; userid=root; pwd=123456") to xconnhandle
SQLEXEC(xconnhandle, 'use successtime')
select invoice01
go top
if !eof()
do while !eof()
V1 = invoice01.F1
V2 = invoice01.F2
.
.
.
nC = "insert into successtime.invoice01(F1,F2,F3,....) values (?V1,?V2,?V3,...)"
sqlexec(xconnhandle,nC)
skip
enddo
endif
sqlcancel(xconnhandle)
sqldisconnect(xconnhandle)
[/code][/quote]
用這個方法, 已成功了, 把200多個紀錄全推上SQL SERVER......但還有一個問題未能解決...
nC = "insert into successtime.invoice01(F1,F2,F3,....) values (?V1,?V2,?V3,...)" 中 (F1,F2,F3)一定是要用FIELD的實名 (NAME,ADDRESS,FULL NAME)..但是, 這樣做, 不就很易超過255char? 可不可以像V1,V2,V3一樣, 用變數代體,但是我試用過, (?F1,?F2,?F3) values (?V1,?V2,?V3) 也是失敗的, 是有其他符號代替"?", 還是本來就一定要用實名... |
|
回頂端 |
|
 |
211482
註冊時間: 2003-07-15 文章: 53
第 41 樓
|
發表於: 星期一 八月 12, 2013 3:33 pm 文章主題: |
|
|
使用字串相加就沒有限制了
nC = "......" + ;
"......" + ;
"......" |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 42 樓
|
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 43 樓
|
發表於: 星期一 八月 12, 2013 11:51 pm 文章主題: |
|
|
"可不可以像V1,V2,V3一樣, 用變數代體,但是我試用過, (?F1,?F2,?F3) values (?V1,?V2,?V3) "
再怎麼亂寫也應該是
(&F1,&F2,&F3)
XD _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
jerryclt
註冊時間: 2009-03-10 文章: 334 來自: 佛心來的
第 44 樓
|
發表於: 星期二 八月 13, 2013 11:35 am 文章主題: |
|
|
請教一下諸大德,
小弟在 win7 下直接安裝了 MySQL Community 5.6.13.0
然後在 Command 視窗下 mysql -u root -p
再給予一個密碼後,
出現了 mysql>_
接著在VFP內輸入如下:
nSqlHandle=0
cSqlDriver="MySQL ODBC 5.2 Unicode Driver"
cSqlserver="192.168.1.101"
cSqlUser="root"
cSqlPwd="oo_xx_oo_xx"
cSqlDbc="lotodatabase"
cSqlstring="DRIVER="+cSqlDriver+";SERVER="+cSqlServer+";UID="+cSqlUser+";PWD="+cSqlPwd+;
";DATABASE="+cSqlDbc
=SQLSETPROP(0,"DispLogin",3)
nSqlHandle=SQLSTRINGCONNECT("&cSqlString.")
結果 nSqlHandle 都是-1
是不是小弟哪裡搞錯了?[/img] |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 45 樓
|
發表於: 星期二 八月 13, 2013 11:51 am 文章主題: |
|
|
再怎麼亂寫也應該可能或許是這一行有問題
cSqlDriver="MySQL ODBC 5.2 Unicode Driver"
請先確認一下這個 Driver 是否正確? |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|