線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1297
推到 Plurk!
推到 Facebook!

FIELD 'NO' IS OF AN KNOWN TYPE,這要怎麼解決

尚未結案
qq33252000
一般會員


發表:12
回覆:21
積分:6
註冊:2010-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-09-10 17:45:57 IP:220.132.xxx.xxx 訂閱
我運用UPDATESQL去做UPDATE的動作
但他出現
"FIELD'NO' IS OF AN KNOWN TYPE"
我不清楚是哪邊出了問題~
我抓取資料的地方~與UPDATE的名稱有一樣
資料型態也一樣~
請問這是什麼狀況呢??
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-09-13 10:56:18 IP:125.230.xxx.xxx 未訂閱
列出完整的SQL ,要找問題比較容易。

從你的問題描述很難判斷原因,
或許將 'NO' 這個欄位改成另外一個名字試試。
qq33252000
一般會員


發表:12
回覆:21
積分:6
註冊:2010-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-09-13 17:34:10 IP:220.132.xxx.xxx 訂閱

[code delphi]
from1.DataBase.StartTransaction;
if not tquery1.IsEmpty then
begin
UpSQL1.ModifySQL.Add('');//已將程式寫入updatesql中的modifysql中
UpSQL1.ExecSQL(ukModify);//若有資料出錯這行
else
begin
UpSQL1.InsertSQL.Add('');//已將程式寫入updatesql中的insertsql中
UpSQL1.ExecSQL(ukInsert);//若沒有資料出錯這行
end;
try
tquery2.Applyupdates;
except
from1.DataBase.RollBack;
MessageDlg('未輸入',mtWarning,[mbok],0);
end;
from1.DataBase.Commit;
請在此區域輸入程式碼

[/code]

tupdatesql程式分別如下
update↓
UPDATE aaa
SET
no = :no,
yesno = :yesno,
up_DATE = :up_DATE,
WHERE NO =:NO


insert↓

insert into aaa
(no,yesno,up_date)
values
(:no,:yesno,:up_date)

我有在tquery2(雙按兩下)
加入no,yesno,up_date,可他是string型態
資料庫的皆示varchar2



===================引 用 chenyk 文 章===================
列出完整的SQL ,要找問題比較容易。

從你的問題描述很難判斷原因,
或許將 'NO' 這個欄位改成另外一個名字試試。
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-10-01 08:50:42 IP:125.230.xxx.xxx 未訂閱
UPDATE aaa
SET
no = :no,
yesno = :yesno,
up_DATE = :up_DATE,
WHERE NO =:NO

where 前面多了個逗號,會出現錯誤,我用MySQL 3.5 測試,
UPDATE aaa
SET
no = 'a2',
yesno = 'no',
up_DATE = '123'
WHERE NO ='a1'
並沒有出現你的錯誤,我不知道你用哪種資料庫,只能建議你將錯誤的SQL字串(已經代值)show出來
,或許只是某個文字導致語法的錯誤,既然'NO'這欄位無法辨識,改成小寫試試吧
ac910127
一般會員


發表:7
回覆:27
積分:11
註冊:2009-11-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-10-25 17:57:05 IP:124.219.xxx.xxx 訂閱
小弟看了您的程式碼發現......

if not tquery1.IsEmpty then
begin ///// < 有Begin
UpSQL1.ModifySQL.Add('');//已將程式寫入updatesql中的modifysql中
UpSQL1.ExecSQL(ukModify);//若有資料出錯這行
else ///<<<<<<<<<<<<<< 是不是少了 end ???
以下省略 !!

小弟的一點淺見,如果有錯,請見諒 包涵!!!
===================引 用 qq33252000 文 章===================

[code delphi]
from1.DataBase.StartTransaction;
if not tquery1.IsEmpty then
begin
UpSQL1.ModifySQL.Add('');//已將程式寫入updatesql中的modifysql中
UpSQL1.ExecSQL(ukModify);//若有資料出錯這行
else
begin
UpSQL1.InsertSQL.Add('');//已將程式寫入updatesql中的insertsql中
UpSQL1.ExecSQL(ukInsert);//若沒有資料出錯這行
end;
try
tquery2.Applyupdates;
except
from1.DataBase.RollBack;
MessageDlg('未輸入',mtWarning,[mbok],0);
end;
from1.DataBase.Commit;

請在此區域輸入程式碼
[/code]

tupdatesql程式分別如下
update↓
UPDATE aaa
SET
no = :no,
yesno = :yesno,
up_DATE = :up_DATE,
WHERE NO =:NO


insert↓

insert intoaaa
(no,yesno,up_date)
values
(:no,:yesno,:up_date)

我有在tquery2(雙按兩下)
加入no,yesno,up_date,可他是string型態
資料庫的皆示varchar2



===================引 用 chenyk 文 章===================
列出完整的SQL ,要找問題比較容易。

從你的問題描述很難判斷原因,
或許將 'NO' 這個欄位改成另外一個名字試試。
編輯記錄
ac910127 重新編輯於 2010-10-25 03:58:24, 註解 無‧
ac910127 重新編輯於 2010-10-25 04:00:00, 註解 無‧
ac910127 重新編輯於 2010-10-25 04:05:16, 註解 無‧
ac910127 重新編輯於 2010-10-25 04:08:10, 註解 無‧
smallfox
高階會員


發表:2
回覆:113
積分:128
註冊:2003-02-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-10-27 00:03:33 IP:203.67.xxx.xxx 訂閱
你的 Update SQL 中使用了 NO 這個參數,
那麼, 你是下怎樣的程式碼, 將資料設定給 NO 這個參數的,
我想問題可能是在這吧 ?!
mephise
高階會員


發表:4
回覆:149
積分:205
註冊:2004-02-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-10-28 16:09:34 IP:60.250.xxx.xxx 訂閱
 我查了一下保留字(Reserved Word)
在以下的 SQL 資料庫中, NO 是保留字

DB2, ODBC, Postgre SQL8, SQL Future Keywords

建議換個欄位名稱吧
------
Mephise Chen
前興德工程師
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-11-01 15:50:28 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-07 20:35:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!