 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 1 樓
|
發表於: 星期一 七月 21, 2008 4:18 pm 文章主題: 各位前輩...有一個新手問題想請教大家... |
|
|
小弟為一個準畢業生...早前是用.net做project 其實小弟program技術只是入門..
最近有幸能入到一間公司 打算以trainee的心態學習..不計較待遇
不過公司是用foxpro的 是我完全沒有接觸過...
公司給了我一個簡單的任務 可是我卻遇上死角...還望前輩們可以指教一下小弟
公司要我做一張form 可以儲蓄資料(簡單得可怕吧...)
小弟起好了table後 在form加入了一個button
打算用戶輸入好按button 便儲蓄資料 button的資料如下
代碼: | CLOSE DATABASES all
USE table1 IN 0
ta1 = thisform.txtAppno.Value
ta2= thisform.txtStaff.Value
ta3= thisform.txtCheckper.Value
ta4= thisform.txtAppmonth.Value
ta5= thisform.txtTotamount.Value
ta6= thisform.txtApprodate.Value
INSERT INTO table1 ( appno, staff, checkper, appmonth, totamount, approdate) VALUES (ta1, ta2, ta3, ta4, ta5, ta6)
BROWSE |
可是問題出現了.. 我發現每次輸入後按鍵 上一筆的記錄總會被改動
然後再儲存新一筆...
後來上司告訴我 因為我只用了data environment中的介面 把cursor拖到form中
成了開動著table 再加入資料 所以當我在textbox 中刪除資料再輸入時便改動了上一筆的record..
在此想請問一下前輩 一般來說要把datatable 資料binding到form 上的做法是如何?
我也找過一些資料 例如鎖定記錄 或cursor中做手腳
不過就是沒有方向 又或是太過複雜...
還望前輩們賜教..
 |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 2 樓
|
發表於: 星期一 七月 21, 2008 4:44 pm 文章主題: |
|
|
你的作法應該沒問題 ; 只是新增時你沒弄清楚 ...
你的程式碼應該得到更改指標筆且新增一筆與指標筆更新後相同之資料 ...
你FORM上之物件已Bindind到資料表格之欄位, 任何TextBox資料更改;
Table之指標筆資料隨即更新, 無須任何存檔動作, FORM 之Buttom 只須有"新增"功能 .
新增時只要下APPEND BLANK不必使用INSERT .....
ps : 移動指標時記得讓Form上之物件Refresh .... |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 3 樓
|
發表於: 星期一 七月 21, 2008 4:59 pm 文章主題: |
|
|
先問一下,你有花時間,先去看以前的人寫的程式嗎?
這個才是重點~ _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 4 樓
|
發表於: 星期一 七月 21, 2008 5:11 pm 文章主題: |
|
|
謝謝小賴兄的回覆呢 萬分感激
不過小弟不才 還是不太明白..
是否insert 的code 不適用要移除
指標又方面又要如何設定... |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期一 七月 21, 2008 5:15 pm 文章主題: |
|
|
說起來,
你是不是連 .NET 的資料庫處理程序也沒完全搞懂.
有資料繫結的物件與沒有資料繫結的物件在作法上是不一樣的.
有資料繫結的的作法,會先INSERT(APPEND)一筆空記錄,
這時記錄指標會在新記錄上,
然後直接操作物件就可以寫入實際的記錄中.
無資料繫結的作法,則先操作物件,
再把物件的"值"寫回記錄,
記錄可以先產生也可以後來再INSERT一筆.
小賴兄與你的上司說的都是對的.
因為所有的資料庫開發工具都是可以使用有/無資料繫結的作法設計資料庫程式,
通常書本上都是採用資料繫結的方式來做,因為"視覺化"的關係,
FOXPRO,.NET,BCB,JAVA都是一樣的作法.
本來你用的是有資料繫結的方式設計FORM,
但是後來又畫蛇添足,搞一個按鈕用無資料繫結的作法新增資料.
才是你錯誤的原因. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 6 樓
|
發表於: 星期一 七月 21, 2008 5:17 pm 文章主題: |
|
|
nelsonchuang 寫到: | 先問一下,你有花時間,先去看以前的人寫的程式嗎?
這個才是重點~ |
nelsonchuang兄 小的買了兩本參考書了...
button 的code 已經是盡小弟僅有的知識和參考寫出來..
看到的例子通常都是用insert statement 把value include 在statement中
小弟想做的效果是讓人輸入...大概是這樣...
button 是可以save到
不過每次一delete textbox 的data 再輸入便弄壞上一個record了.. |
|
回頂端 |
|
 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 7 樓
|
發表於: 星期一 七月 21, 2008 5:22 pm 文章主題: |
|
|
謝謝syntech的教導 我還記得時用.net 要先設定好 connection path
再加adapter 然後才可以用到sql的command
到了foxpro 是不是也是一樣做法?
我是找到了set path to 之類的做法喇 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期一 七月 21, 2008 5:32 pm 文章主題: |
|
|
果然是沒搞懂~~~~
視覺化的背後知識是很複雜的. (U.U)y- ~~~~~~ _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 9 樓
|
發表於: 星期一 七月 21, 2008 5:38 pm 文章主題: |
|
|
剛剛有其他前輩解答了小弟的問題
原來在 form的init 加上thisform.SetAll("ControlSource","","textbox")
便可以達到效果
不過小弟還是厚著面皮向各位前輩請教
一般來說 要設定資料表或是資料庫的過程
小弟聽到很多不同的概念或術語 例如 設定cursor 或view 再update table
又或是鎖定資料表之類 都把自己混亂了...
又覺得這個setall 的方法好像很強硬似的(不知是不是...)
如果前輩們方便的話 還望多多指教 |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 10 樓
|
發表於: 星期一 七月 21, 2008 6:03 pm 文章主題: |
|
|
唉~不要貪心,先把馬步練好~我怕你這邊練一下,那邊練一下.
到最後以為是Vfp不好用...
如果你們公司有人寫過了程式,先拿簡單,看起來不複雜的
先參考,去看看為什麼人家會這麼寫..一方面瞭解系統.
一方面學習別人之長,再者可以知道Vfp有那些東西可供使用...
自己寫程式固然很好,可是很明顯地,你處於迷霧狀態~ _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 11 樓
|
發表於: 星期一 七月 21, 2008 6:10 pm 文章主題: |
|
|
ksgchung 寫到: | 剛剛有其他前輩解答了小弟的問題
原來在 form的init 加上thisform.SetAll("ControlSource","","textbox")
便可以達到效果
|
這就是 無資料繫結 的作法呀. XD XD XD
是你看不懂答案. Orz.
再下來,應該你翻頁就會出問題了.
你應該會問為什麼textbox的內容都不會變.
是不是你又要 textbox1.controlsource = xxx.xx,
然後一直在 textbox1.controlsource = xxx.xx, textbox1.controlsource = "",
之間打轉. XD
萬法不離其宗~~~~~~~ _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
ksgchung
註冊時間: 2008-07-15 文章: 6
第 12 樓
|
發表於: 星期一 七月 21, 2008 11:16 pm 文章主題: |
|
|
MMM...受教了
我答應大家 我會好好看書的
不過還是想再請問一下syntech 兄
關於vfp資料繫結 技術或做法的一些關鍵字眼
好讓我先收集定資料
因為上司可能很快要我做相關的任務了 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 13 樓
|
發表於: 星期二 七月 22, 2008 9:25 am 文章主題: |
|
|
你們公司的程式就是最好的範例啦.
怎麼這麼想不通呢?最好的老師就是你的老闆.
調出你們現成的form來,有controlsource ,recordsource 就是 有資料繫結的作法,
既然是現成的form,當然作法都已完備,
先接受公司的作法,再想想如果自己拉form要做哪些動作,寫什麼程式,
菜鳥都是這樣過來的.
加油,好嗎! _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期二 七月 22, 2008 11:47 am 作了第 1 次修改 |
|
回頂端 |
|
 |
green
註冊時間: 2003-09-19 文章: 137
第 14 樓
|
發表於: 星期二 七月 22, 2008 10:37 am 文章主題: |
|
|
有人星光看太多中毒了...=.= |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 15 樓
|
發表於: 星期二 七月 22, 2008 11:41 am 文章主題: |
|
|
其實我都看"超嘔"!! XD
還是說,看起來都"超嘔"!! _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|