MS SQL 的 text 資料型別 |
答題得分者是:Mickey
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
使用 MS SQL 之 writetext command
Sample code as following :
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) has just released another top ten publication. With the latest publication this makes NMB the hottest new publisher of the year!'
GO
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
你應該是指,同一筆資料無法 Update 二次(含)以上
如果有 Error Message 請將它 po 上來
該 DataSet AfterPost Event Add Code as following:
procedure TForm1.Query1AfterPost(DataSet: TDataSet);
var v : variant;
begin
v := Query1['SS_ID;ST_ODR']; // 此 Sample SS_ID ST_ODR 欄 唯一
with Query1 do begin
try
DisableControls;
Close; Open; //需重新讀取Server的資料
Locate('SS_ID;ST_ODR', v, []); //至Key值的位置
finally
EnableControls;
end;
end;
end;
這是因為 MSSQL TEXT/IMAGE DataType 事實上是存 該 Pointer(而非Data),
若你不重新 Open , 該 Pointer 被第一次更新後,將變 Invalid.
重新 Open and Locate to origin record 有點笨, 效率差.
TClientDataSet / TBDEClientDataSet 應是較佳的選擇.
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |