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

ParamByName('XX').Value可接受Date的型態值嗎?

答題得分者是:Stallion
wwwbbs
初階會員


發表:41
回覆:59
積分:25
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-26 21:21:46 IP:220.229.xxx.xxx 訂閱
請教各位大大,Variant type 不能接受Date的型態值嗎??
以下的Code會無法Insert成功...錯誤訊息為[應用程式目前的操作所使用的值是個錯誤的類型]
[code delphi]
qyTemp.Parameters.ParamByName('OrderDate').Value:= Date; //Default Today
[/code]
OrderDate在資料庫的型態為SmallDateTime。
查看Help的Variant type conversions,也沒提到DateTime的型態。
小弟不才,請各位大大指教。

wwwbbs
初階會員


發表:41
回覆:59
積分:25
註冊:2003-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-12-26 23:40:56 IP:220.229.xxx.xxx 訂閱
剛在網路上爬文,聽說TADOQuery會有這種問題,改用TADODataSet就可以了,但是我試了一下還是不行

環境
Win2000 MS SQL 2000
WinXP Delphi 6.0 UP2 MDAC 2.8SP1
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-12-27 03:19:20 IP:75.41.xxx.xxx 未訂閱
qyTemp.Parameters.ParamValues['OrderDate'] := Date;
===================引 用 wwwbbs 文 章===================
請教各位大大,Variant type 不能接受Date的型態值嗎??
以下的Code會無法Insert成功...錯誤訊息為[應用程式目前的操作所使用的值是個錯誤的類型]
[code delphi]
qyTemp.Parameters.ParamByName('OrderDate').Value:= Date; //Default Today
[/code]
OrderDate在資料庫的型態為SmallDateTime。
查看Help的Variant type conversions,也沒提到DateTime的型態。
小弟不才,請各位大大指教。
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-12-27 08:29:35 IP:203.73.xxx.xxx 訂閱
豬寶寶的寫法
給您參考看看
PRD_DATA 是ADOQUERY
豬寶寶反而不會用TADODataSet =.="
請問有人知道TADODataSet 適用的時機嗎?
個人在寫的程式 都是只有ADOCONNECT ADOQUERY就KO掉了
從來沒用過ADODATASET..想問也沒人可以問>"<

[code delphi]
PRD_DATA.SQL.Clear;
PRD_DATA.SQL.Text:='CREATE TABLE AABBCC ( '
'[SEQ] [bigint] IDENTITY(1,1) NOT NULL, '
'[DATE] [smalldatetime] NULL, '
'[LINE] [varchar](4) NOT NULL, '
'[BANO] [varchar](12) NOT NULL '
' CONSTRAINT [PK_AABBCC_DATA] PRIMARY KEY CLUSTERED( '
' [BANO] ASC,'
' [SEQ] ASC ) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY])';

PRD_DATA.ExecSQL; //建立暫存的TABLE

PRD_DATA.Close;
PRD_DATA.SQL.CLEAR;
PRD_DATA.SQL.Text:='INSERT INTO ' CG_DATA ' (DATE,BANO,LINE) VALUES (:DATE,:BANO,:LINE)';

PRD_DATA.Close;
PRD_DATA.Parameters.ParamByName('DATE').Value:=Today;
PRD_DATA.Parameters.ParamByName('BANO').Value:='ABC'
PRD_DATA.Parameters.ParamByName('LINE').Value:='111';
PRD_DATA.ExecSQL;
[/code]

還有另一個偷懶的寫法
效能可能比較差

[code delphi]
PRD_DATA.SQL.Clear;
PRD_DATA.SQL.Text:='CREATE TABLE AABBCC ( '
'[SEQ] [bigint] IDENTITY(1,1) NOT NULL, '
'[DATE] [smalldatetime] NULL, '
'[LINE] [varchar](4) NOT NULL, '
'[BANO] [varchar](12) NOT NULL '
' CONSTRAINT [PK_AABBCC_DATA] PRIMARY KEY CLUSTERED( '
' [BANO] ASC,'
' [SEQ] ASC ) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY])';
PRD_DATA.ExecSQL; //建立暫存的TABLE

PRD_DATA.Close;
PRD_DATA.SQL.Text:='SELECT * FROM AABBCC WHERE 1=2';
PRD_DATA.Open;

PRD_DATA.Append;
PRD_DATA.FieldByName('DATE' ).Value:=Today;
PRD_DATA.FieldByName('BANO' ).Value:='111'
PRD_DATA.FieldByName('LINE' ).Value:='111';
PRD_DATA.Post;

[/code]
編輯記錄
mypigbaby 重新編輯於 2007-12-27 08:33:27, 註解 無‧
mypigbaby 重新編輯於 2007-12-27 08:38:34, 註解 無‧
wwwbbs
初階會員


發表:41
回覆:59
積分:25
註冊:2003-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-12-27 12:06:46 IP:220.229.xxx.xxx 訂閱
採用Stallion版主的方法解決了...好奇怪喔!!爲啥會這樣呀!!

感謝版主相助,也謝謝豬寶寶的幫忙。

===================引 用 Stallion 文 章===================
qyTemp.Parameters.ParamValues['OrderDate'] := Date;
fireflybug
一般會員


發表:18
回覆:36
積分:15
註冊:2008-07-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-03 14:19:04 IP:220.130.xxx.xxx 訂閱
弟也遇到這樣的問題,不過很怪得是,弟要將excel欄位資料轉入資料庫,b2 c2的欄位都是空字串,b2轉就不會有錯誤,轉到c2就會出現這樣的訊息,請問大大知道為啥會這樣嗎?很想知道原因在哪?


===================引 用 Stallion 文 章===================
qyTemp.Parameters.ParamValues['OrderDate'] := Date;
===================引 用 wwwbbs 文 章===================
請教各位大大,Variant type 不能接受Date的型態值嗎??
以下的Code會無法Insert成功...錯誤訊息為[應用程式目前的操作所使用的值是個錯誤的類型]
[code delphi]
qyTemp.Parameters.ParamByName('OrderDate').Value:= Date; //Default Today
[/code]
OrderDate在資料庫的型態為SmallDateTime。
查看Help的Variant type conversions,也沒提到DateTime的型態。
小弟不才,請各位大大指教。

------
今天的事,留到後天再說....
編輯記錄
fireflybug 重新編輯於 2008-11-03 14:20:51, 註解 無‧
fireflybug 重新編輯於 2008-11-03 14:21:10, 註解 無‧
系統時間:2024-05-03 9:38:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!