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

多重操作錯誤

答題得分者是:eaglewolf
micfu
一般會員


發表:2
回覆:1
積分:0
註冊:2004-02-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-12-07 13:46:01 IP:114.24.xxx.xxx 訂閱
請教各位大大

下面這段程式為什麼會出現多重操作錯誤,看起來好像一次只能針對一個欄位做動作,

with ADOQuery1 do
begin
Append;
for J := 0 to Fields.Count - 1 do
Fields[J].Value:= s[J 1];
Post;
end;

所以改為下面這樣,還是不行,那該怎麼辦呢?

with ADOQuery1 do
begin
Insert;
for J := 0 to Fields.Count - 1 do
begin
Edit;
Fields[J].Value:= s[J 1];
Post;
end;
end;


mypigbaby
高階會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-12-07 16:50:24 IP:203.73.xxx.xxx 訂閱
這個問題豬寶寶也發生過..
後來實在是找不到解決辦法,
後來就直接下UPDATE或INSERT 的SQL 語法直接去新增

感覺上,用EDIT/POST的方式..這種情形都會偶爾發生..蠻困擾的


===================引 用 micfu 文 章===================
請教各位大大

下面這段程式為什麼會出現多重操作錯誤,看起來好像一次只能針對一個欄位做動作,

with ADOQuery1 do
begin
Append;
for J := 0 to Fields.Count - 1 do
Fields[J].Value:= s[J 1];
Post;
end;

所以改為下面這樣,還是不行,那該怎麼辦呢?

with ADOQuery1 do
begin
Insert;
for J := 0 to Fields.Count - 1 do
begin
Edit;
Fields[J].Value:= s[J 1];
Post;
end;
end;


herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-12-08 13:09:09 IP:211.72.xxx.xxx 訂閱
試看改這樣行不行 !

with ADOQuery1 do
begin
Insert; // 或 Append, 或 Edit
for J := 0 to Fields.Count - 1 do
begin
// Edit; // 已 Insert 便不須再用 Edit
Fields[J].Value:= s[J 1];
// Post; // 整筆 Record 各欄值尚未全部填完, 不該 Post
end;
Post; // 整筆 Record 各欄值全部填完才 Post
end;
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-12-08 13:13:49 IP:203.79.xxx.xxx 訂閱
編輯記錄
carstyc 重新編輯於 2009-12-08 13:15:41, 註解 無‧
2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-12-08 18:31:41 IP:60.249.xxx.xxx 未訂閱
你好:

請問 ADOQuery1 的 sql 是單一table ,還是 join 多 table 的 sql 語法??


===================引 用 micfu 文 章===================
請教各位大大

下面這段程式為什麼會出現多重操作錯誤,看起來好像一次只能針對一個欄位做動作,

with ADOQuery1 do
begin
Append;
for J := 0 to Fields.Count - 1 do
Fields[J].Value:= s[J 1];
Post;
end;

所以改為下面這樣,還是不行,那該怎麼辦呢?

with ADOQuery1 do
begin
Insert;
for J := 0 to Fields.Count - 1 do
begin
Edit;
Fields[J].Value:= s[J 1];
Post;
end;
end;


eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-12-10 15:39:09 IP:211.75.xxx.xxx 未訂閱
有可能是
(1) 違反PK等條件限制;
(2) 欄位的資料格式與值的資料格式不對

===================引 用 micfu 文 章===================
請教各位大大

下面這段程式為什麼會出現多重操作錯誤,看起來好像一次只能針對一個欄位做動作,

with ADOQuery1 do
begin
Append;
for J := 0 to Fields.Count - 1 do
Fields[J].Value:= s[J 1];
Post;
end;

所以改為下面這樣,還是不行,那該怎麼辦呢?

with ADOQuery1 do
begin
Insert;
for J := 0 to Fields.Count - 1 do
begin
Edit;
Fields[J].Value:= s[J 1];
Post;
end;
end;


------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
micfu
一般會員


發表:2
回覆:1
積分:0
註冊:2004-02-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-12-13 10:02:06 IP:114.24.xxx.xxx 訂閱
 利害,果然是欄位的資料格式與值的資料格式不對
系統時間:2024-04-20 6:13:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!