請問insert一筆資料到table的問題 |
答題得分者是:channel
|
selina
一般會員 發表:39 回覆:64 積分:20 註冊:2002-12-05 發送簡訊給我 |
請問以下那裡出錯了,我執行時會出現:
'Project mdiapp.exe raised exception class EDBEngineError with message 'General SQL error.
[Microsoft][ODBC SQL Server Driver][SQL Server] String or binary data would be truncated.
[Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated.' .... ' SQL語法如下:
所有資料都是string
Query1.close;
Query1.SQL.clear;
Query1.SQL.add('insert into booking carrierID, commodity, airportDestination,');
Query1.SQL.add('flightNumber, flightDate, mawb, cbm, kgs,rate, serviceRequest,userID,inputDate)');
Query1.SQL.add('values ' '(' #39 carrier #39 ',' #39 commodity #39 ',' #39 airportID #39 ',');
Query1.SQL.add('' #39 flightNo #39 ',' #39 FDate #39 ', ' #39 mawbno #39 ',' #39 Rcbm #39 ',');
Query1.SQL.add('' #39 Rkgs #39 ' ,' #39 rate #39 ',' #39 serviceRequest #39 ',');
Query1.SQL.add('' #39 userID #39 ',' #39 presenttime #39 ' )');
Query1.Prepare;
Query1.ExecSQL; 如果flightDate資料形態是Date的話,要如何insert呢?
謝謝~
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 請問以下那裡出錯了,我執行時會出現: 'Project mdiapp.exe raised exception class EDBEngineError with message 'General SQL error. [Microsoft][ODBC SQL Server Driver][SQL Server] String or binary data would be truncated. [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated.' .... ' SQL語法如下: 所有資料都是string Query1.close; Query1.SQL.clear; Query1.SQL.add('insert into TableName(booking carrierID, commodity, airportDestination,'); Query1.SQL.add('flightNumber, flightDate, mawb, cbm, kgs,rate, serviceRequest,userID,inputDate)'); Query1.SQL.add('values ' '(' #39 carrier #39 ',' #39 commodity #39 ',' #39 airportID #39 ','); Query1.SQL.add('' #39 flightNo #39 ',' #39 FDate #39 ', ' #39 mawbno #39 ',' #39 Rcbm #39 ','); Query1.SQL.add('' #39 Rkgs #39 ' ,' #39 rate #39 ',' #39 serviceRequest #39 ','); Query1.SQL.add('' #39 userID #39 ',' #39 presenttime #39 ' )'); Query1.Prepare; Query1.ExecSQL; 如果flightDate資料形態是Date的話,要如何insert呢? 謝謝~看您的錯誤訊息,您的資料庫應該是MS SQL Server 我就不從你的程式改,直接寫入一個日期的欄位給您看,您再自行修改您的程式: Query1.SQL.Clear; Query1.SQL.Add('Insert into TableName(flightDate)'); Query1.SQL.Add('Values (cast(' #39 FDate #39 ' AS DateTime))'); Query1.ExecSQL; 也就是使用cast()這個函數,e.g.:cast('2003/1/1' As DateTime) ps:FDate的格式必需是2003/1/1~小弟淺見,參考看看~ 發表人 - channel 於 2003/03/11 18:21:47
------
~小弟淺見,參考看看~ |
selina
一般會員 發表:39 回覆:64 積分:20 註冊:2002-12-05 發送簡訊給我 |
|
selina
一般會員 發表:39 回覆:64 積分:20 註冊:2002-12-05 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
引言: 請問以下那裡出錯了,我執行時會出現: 'Project mdiapp.exe raised exception class EDBEngineError with message 'General SQL error. [Microsoft][ODBC SQL Server Driver][SQL Server] String or binary data would be truncated. [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated.' .... '關於 String or binary data would be truncated. 的錯誤訊息的發生原因 是因為要寫入的資料長度大於其在資料庫的欄位!! 例如: PRODUCE_NAME 的欄位是 VARCHAR(10) , 但你要填入的資料為 'super computer' 就會發生這樣的現象!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |