int 欄位轉日期格式, 有無好法子? |
尚未結案
|
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
後端sql server有資料欄位為Birthday(int)
我以ADOQuery連結對應到edBirthday
日期2003/9/4儲存在後端為20030904
問題來了
在取出資料時, 我在
procedure TfmCustom.OnGetDateFieldValue(Sender: TField; var Text: String;DisplayText: Boolean);
begin
Text:=uGlobal.ConvertMyDateToSystem(Sender.AsString,True);
end;
做資料格式轉換
而在輸入資料時, 並無法輸入'2003/9/4', 因為該欄位被視為int
請問我有無有辦法可以輸入'2003/9/4', 然後透過
procedure TfmCustom.OnSetDateFieldValue(Sender: TField;
const Text: String);
begin
Sender.AsString:=uGlobal.ConvertSystemDateToMy(Text,True);
end;
存入後端資料庫?
請各位先進幫幫忙....
謝謝
|
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
參考看看:
procedure TForm1.Table1DGetText(Sender: TField; var Text: String; DisplayText: Boolean); var DD : TDateTime; begin DD := Sender.AsInteger; Text := Formatdatetime('yyyy/mm/dd',DD); DisplayText := True; end; procedure TForm1.Table1DSetText(Sender: TField; const Text: String); var DD : TDateTime; begin DD := StrToDate(Text); Sender.AsInteger := Trunc(DD); end; procedure TForm1.Button1Click(Sender: TObject); begin table1.Close; taBLE1.Open; Table1D.EditMask :='!0000/00/00;1;_'; end; |
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |