全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1350
推到 Plurk!
推到 Facebook!

資料庫的計算

答題得分者是:pceyes
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-07-31 16:04:53 IP:220.131.xxx.xxx 訂閱
小的初學Delphi,想設計一個小小的零用金管理系統
看了好幾本書,書內的資料庫方面介紹都相當少
實在找不到我要的功能,因我本身沒有這方面的底子
書上寫的我照著做是可以的,但不太懂得怎麼運用

假設我有兩個資料庫
收入資料庫(table1) 支出資料庫(table2)
序號 收入來源 金額 序號 支出原因 金額
1 AAA 100 1 AAA 200
2 BBB 200 2 BBB 50

我想要一個 收入的total,一個支出的total, 然後一個總和(收入-支出)
另外,我要怎麼讓資料庫,在新增一筆資料的時候,可以自動幫我填入序號

--------------------------------------------------------------------------------------------------------------------

procedure TForm1.FormCreate(Sender: TObject);
begin
DateTimePicker1.DateTime:=now;
dbedit6.Text:=''; //收入來源
dbedit7.Text:=''; //金額
end;


-----------------------------------------------------------------------------------------------------------------------
procedure TForm1.Button10Click(Sender: TObject);
begin
Table1.Append; //在資料表中加入一筆空白資料
table1.Edit;
Table1.FieldByName('日期').Asdatetime:=DateTimePicker1.Date;
Table1.FieldByName('收入').AsString:=dbedit6.Text;
Table1.FieldByName('金額').AsString:=dbedit7.Text;
DateTimePicker1.SetFocus;//將輸入焦點移至編號欄位上
table1.post;
end;

我上面寫完可以RUN,但是在輸入工作項目的時候
程式當掉= =
我想要讓一開始收入來源跟金額是空白的
然後我選完日期,填資料在金額及收入的時候 不會修改到資料庫裡面的資料
然後按button10 存入一筆新的資料

抱歉問題有點多= ="
AndrewK
高階會員


發表:6
回覆:151
積分:161
註冊:2006-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-07-31 21:10:23 IP:60.250.xxx.xxx 訂閱
Table1.FieldByName('日期').Asdatetime:=DateTimePicker1.Date;
Table1.FieldByName('收入').AsString:=dbedit6.Text;
Table1.FieldByName('金額').AsString:=dbedit7.Text;

這裡的寫法可以改一下
如何改可以多搜尋站上的文章

1.如何自動產生序號:你可以利用資料庫本身的功能,也可以 count 每筆 record 從程式 自動加總
2.以你的需求的話,我不會用 DBEdit ,我會用 TEdit ,按了Button 後,即新增資料
3.書上說的資料庫內容很少:建議你可以買 delphi 關於資料庫的書
而不是買有關於介紹語法,元件的,而你所問的問題都可以獲得解答
delphi ktop 網站也有出書,金石堂書店可以取得
書名我印象不是很清楚
好像是這一種
------
Just Do It
-------------------------
其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-07-31 22:59:48 IP:140.125.xxx.xxx 訂閱
感謝您回覆=ˇ=
站上的文章我看了許多
但資料庫計算方面 大半部分都是從SQL方面著手
我大概能理解文章內所說的計算式~
但我卻不知道該在哪邊輸入那些Sql ...
我手上有delphi 7徹底研究 簡單活用delphi5 delphi 資料庫程式設計
等等不下五本書...
但苦於書中資料庫內容篇幅都很小
更不用說是sql了...
大部分都是在教導資料庫的建立
能從中獲取的東西很少..
因為我沒這方面的基礎,也沒有會delphi的朋友
看了這網站滿久的了...
但一沒有發文章..
一直想說會不會問題太簡單,在這發問
會被人罵叫我再去多看點書= =
但我真的找不到答案..
麻煩大家幫我一下..

推薦書本我也是很謝謝您的
我是需要資料庫設計方面的書


===================引 用 AndrewK 文 章===================
Table1.FieldByName('日期').Asdatetime:=DateTimePicker1.Date;
Table1.FieldByName('收入').AsString:=dbedit6.Text;
Table1.FieldByName('金額').AsString:=dbedit7.Text;

這裡的寫法可以改一下
如何改可以多搜尋站上的文章

1.如何自動產生序號:你可以利用資料庫本身的功能,也可以 count 每筆 record 從程式 自動加總
2.以你的需求的話,我不會用 DBEdit ,我會用 TEdit ,按了Button 後,即新增資料
3.書上說的資料庫內容很少:建議你可以買 delphi 關於資料庫的書
而不是買有關於介紹語法,元件的,而你所問的問題都可以獲得解答
delphi ktop 網站也有出書,金石堂書店可以取得
書名我印象不是很清楚
好像是這一種
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-08-01 06:42:46 IP:220.141.xxx.xxx 訂閱
推薦舊書一本
Delphi 資料庫程式設計
2001.3 出版
文魁資訊股份有限公司

介紹Ado及簡單Sql語法(ACCESS資料庫97-2003[2007?]皆支援)
很適合初學資料庫的使用者
===================引 用 g9614721 文 章===================
小的初學Delphi,想設計一個小小的零用金管理系統
看了好幾本書,書內的資料庫方面介紹都相當少
實在找不到我要的功能,因我本身沒有這方面的底子
書上寫的我照著做是可以的,但不太懂得怎麼運用

------
努力會更接近成功
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-08-01 09:01:43 IP:220.131.xxx.xxx 訂閱
書刊名/作者Delphi資料庫程式設計/楊宗誌編著
版本初版
出版地/出版者/出版年臺北市/文魁資訊/2001[民90]
作品語文chi
稽核項1冊(面頁龐雜)/圖/23公分
ISBN/裝訂方式/價格957-466-177-6/平裝附光碟/新台幣420元
主題標題-(主題複分)csh-Delphi(電腦程式語言)

這本嗎?@@ 仍在館內..等等晚點去借..A_A

另外

procedure TForm1.Button1Click(Sender: TObject);
begin

if edit1.text ='password'
then
(開啟from2,關閉from1,本來form2是隱藏的)→這邊要怎麼改=ˇ=
else application.messagebox('密碼錯誤','訊息視窗',mb_ok mb_defbutton1)
end;
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-08-01 10:37:03 IP:122.118.xxx.xxx 訂閱

===================引 用 g9614721 文 章=================== from2.SHOW;
else application.messagebox('密碼錯誤','訊息視窗',mb_ok mb_defbutton1)
end;

------
努力會更接近成功
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-08-01 12:34:11 IP:140.125.xxx.xxx 訂閱
有錯誤發生耶
from1.HIDEfrom2.SHOWprocedure TForm1.Button1Click(Sender: TObject);
begin

if edit1.text ='password'
then
from1.HIDE;
from2.SHOW;
else application.messagebox('密碼錯誤','訊息視窗',mb_ok mb_defbutton1)
end;



pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-08-01 12:48:42 IP:122.118.xxx.xxx 訂閱
你打錯字了啦
Form1.hide;
Form2.show;
------
努力會更接近成功
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-09-12 10:42:39 IP:61.219.xxx.xxx 未訂閱
如果你每篇都像這題這樣認真準備及提問,沒人會開罵的。
如果還有人那麼不通情理,放心自有人主持正義的。
其實有時候,你要養成多提問題的習慣。因為通常日常遇到很多問題時,我們通常
會有與你想的不一樣的解法的。套句現在流行的術語,在Delphi中也有一些我
們的Designed Pattern。那是我們寫了很多年很多年Delphi程式後,我們發展
出來的。你不問,沒人會跟你講的。
就像我看你寫的兩篇都是講AutoIncrementNo,這是有標準作法與技巧的。這些到了
Java/Hibernate時又變的不一樣了。
===================引 用 g9614721 文 章===================
看了這網站滿久的了...
但一沒有發文章..
一直想說會不會問題太簡單,在這發問
會被人罵叫我再去多看點書= =
但我真的找不到答案..
------
Kevin
系統時間:2024-05-06 1:53:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!