上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
小寶寶
註冊時間: 2004-08-20 文章: 57
第 1 樓
|
發表於: 星期日 二月 20, 2005 11:30 am 文章主題: 有關LOCAL VIEW 的問題 |
|
|
小弟使用LOCAL VIEW作一對多
假如說今天一套軟體包成套裝的賣出
可能賣了許多間了
假如說LOCAL VIEW的欄位需要增加欄位
那不就要一間客戶抓一次資料庫回來修改
令個解決方案就是灌VFP現場編修~
不過假如說兩三間就算了~
假如10~50間的話~
不知道大大們都怎麼解決!! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 2 樓
|
發表於: 星期日 二月 20, 2005 11:57 am 文章主題: |
|
|
之前待過一家公司
執行一支程式
先以日期判斷是否執行過
再來就是alter table 了
view 那時我是再重新寫過
只是dbgetprop 好像保留原設定
這樣寫起來好像要一大串
最後再dbsetprop 好麻煩的樣子
覺得好像不是一個好的解決方法
反正之前有這麼做過 |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 3 樓
|
發表於: 星期日 二月 20, 2005 2:46 pm 文章主題: |
|
|
這種事,我們常在做這檔事,反正客戶(比你的客戶數還多且遍及全省)下載我們給的更新版本時,就會自動調整資料結構(如果有異動的話),這個公司的調整程式已經是制式的,不需我們去維護;要維護的是若欄位意義有變動而需調整資料內容時,這個就要因應實際資料而特定寫的。反正寫習慣了(被證券交易所給練出來的)就已成家常便飯了。
我也只能說這麼多了,我還沒空以自己的寫法來發表這個調整程式,所以只是讓你知道有這麼回事;反正都是人寫出來的就是了。 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 4 樓
|
發表於: 星期日 二月 20, 2005 3:34 pm 文章主題: |
|
|
table 可以以alter table來做
那view 除了重新再create這種做法之外
有沒有可以保留原先的schema,(這麼拼沒有錯啦呼
有錯再說),再追加欄位定義的做法嗎?
我是指dbgetprop 和dbsetprop無法做到的事
或是可以寫得很漂亮 |
|
回頂端 |
|
 |
小寶寶
註冊時間: 2004-08-20 文章: 57
第 5 樓
|
發表於: 星期日 二月 20, 2005 7:26 pm 文章主題: |
|
|
不知道朱兄說的是不是用程式去判斷view是否更改~
如更改~使用程式下去改變~
是嗎?? |
|
回頂端 |
|
 |
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 6 樓
|
發表於: 星期日 二月 20, 2005 10:39 pm 文章主題: |
|
|
我倒沒注意到是 LOCAL VIEW 的問題,而且公司的制式調整程式,因為是制式所以還沒很認真的仔細研究,除非是遇到新問題才會想去改良它。
但是不管怎麼樣,必定是要朝著程式去調整相關資料,否則在實務上是非常累人而沒效率,最後常常客戶不滿意而公司內部一定是累得人仰馬翻的;也許初期寫得程式不完善,但隨著不斷修正,也應該會愈來愈精煉;漂亮的程式是無法一次就辦到的,一般我們的習慣是先將功能寫出來,再逐步取得效率,最後在功能與效率之間取得平衡點,這個是沒辦法說得清楚的,大概要靠經驗的累積吧! _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 7 樓
|
發表於: 星期二 二月 22, 2005 11:08 am 文章主題: |
|
|
我以前的方法是先把 view drop 掉,再自行建回來...
倒是不用寫很多程式,因為 vfp 有內附一個gendbc 的程式,我都是用這程式來幫我產生一個可以generate database schema 的 prg
然後去編輯這個 prg, 把我要的部份取出來即可... |
|
回頂端 |
|
 |
小寶寶
註冊時間: 2004-08-20 文章: 57
第 8 樓
|
發表於: 星期二 二月 22, 2005 9:47 pm 文章主題: |
|
|
這樣說的話~
是不是說用程式把view刪除...
在用程式建立view??
可以是這樣說嗎??? |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 9 樓
|
發表於: 星期三 二月 23, 2005 9:14 am 文章主題: |
|
|
可以這麼說... |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 10 樓
|
發表於: 星期三 二月 23, 2005 9:42 am 文章主題: |
|
|
朱育興 寫到: |
我也只能說這麼多了,我還沒空以自己的寫法來發表這個調整程式,所以只是讓你知道有這麼回事;反正都是人寫出來的就是了。 |
朱兄的著作版權概念不錯哦! , 只要是利用上班時間寫的程式皆是屬於公司的, 不可私下拿來公佈,因為你拿人薪水替人作事, 版權就是該公司所有, 所以就只能拿自己下班時寫的程式碼來公佈. 佩服!. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
215001
註冊時間: 2003-06-11 文章: 393
第 11 樓
|
發表於: 星期三 二月 23, 2005 10:04 am 文章主題: |
|
|
我的做法是:
A.如果是只有更改 VIEW 而已,只要將 資料庫.D* (.DBC,.DCT,.DCX) 拷貝給客戶覆蓋更新即可
B.如果有異動某些 資料表的結構:
公司端 先整理出新的空白資料庫全部檔案)
1.先 ZAP 掉所有的資料表
2.將 資料庫 及 空的資料表 相關檔案 交給客戶
客戶端:
1.先將全部檔案 Copy 到 臨時資料夾 (備份)
2.更新所有檔案
3.再一一執行 Append from \臨時資料夾\資料表 (取回備份資料)
當然上面的做法大部份都可以以程式處理 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 12 樓
|
發表於: 星期三 二月 23, 2005 10:49 am 文章主題: |
|
|
我的方法就是用215001 , 也有寫程式來處理, 你們參考看看吧!
代碼: |
func trandbf
Lpara need_zero
if type('need_zero')#'C'
need_zero= .f.
else
need_zero = (upper(need_zero)=='ZERO')
endif
*SET DEFA TO
SET STAT ON
SET TALK OFF
SET SAFE OFF
set dele on
Clear
CLOSE DATA
IF NEED_ZERO &&--這個功能是為了要將你在開發的程式的資料環境複製一份空白的TABLE檔到客戶端時在用的. Garfield
S=PADR('d:\OUT',30)
@ 12,20 SAY '請輸入要將資料全部清除的目錄' GET S
READ
IF LASTKEY()=27
RETURN
ENDIF
SET DEFA TO &S
ELSE
@ 08,20 SAY '目前資料預設的目錄為(如果不對, 請用SET DEFA TO ?? 來改) ==> '+fullpath(sys(2001,'defa'))
MFILE=SPACE(30)
@ 12,20 SAY '請輸入備份檔的目錄:' GET MFILE
READ
IF LASTKEY()=27
RETURN
ENDIF
MFILE = ALLTRIM(MFILE)
IF !FILE(MFILE+'\PUB_VAR.MEM') &&--我是用這個檔案來判定那個目錄是否真的有資料, 請自行修正, Garfield
WAIT '無此目錄' WINDOW
RETURN
ENDIF
i=MFILE+'\pub_var'
REST from pub_var addi
REST from &i addi
SAVE all like pub_* to pub_var
ENDIF
TOT_DBF = ADIR(MDBF , '*.DBF')
FOR i=1 TO TOT_DBF
IF !(' '+MDBF[I,1] $ ' FOXUSER.DBF PUB_BROW.DBF SYSTEM.DBF FUNCNAME.DBF DKCONTRL.DBF TEST.DBF TEMP.DBF SPECIAL.DBF DEFAULT.DBF FILESTRU.DBF MAIN.DBF PHONETIC.DBF SQLTABLE.DBF MBSM.DBF ADDR.DBF')
USE MDBF[I,1] EXCL
ZAP
IF !NEED_ZERO
PASS = MFILE+'\'+MDBF[I,1]
? pass
IF FILE(PASS)
SET TALK ON
APPE FROM &PASS
SET TALK OFF
ENDIF
ENDIF
ENDIF
NEXT
IF NEED_ZERO
QUIT
ENDIF
USE
|
_________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 13 樓
|
發表於: 星期四 二月 24, 2005 8:58 am 文章主題: |
|
|
題外話,
什麼叫做 215001 ?? |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 14 樓
|
發表於: 星期四 二月 24, 2005 9:05 am 文章主題: |
|
|
某人...... _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 15 樓
|
發表於: 星期四 二月 24, 2005 9:38 am 文章主題: |
|
|
就是樓上的那位, 那為什麼要叫做 215001 , 我想是1.行動電話末6碼, 2.學號, 3. 2+1+5+0+0+1= 9 可能是希望做某些快樂的事情能久一點..
隨便亂猜的, 別介意. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
|