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

Access 欄位型態:備忘,我無法更新

尚未結案
lanbome
一般會員


發表:46
回覆:28
積分:14
註冊:2003-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-13 21:35:13 IP:203.67.xxx.xxx 未訂閱
請教各位,當我新增一筆資料(超過255個字元)進去備忘型態欄位是沒有問題,但是當我要更新此筆資料時,如果更新的資料在255個字元以內沒有問題,但更新的資料超過255個字元時就會出現下列的錯誤訊息,有誰能幫我回答一下到底是那裡出錯了呢 ? 以下是我的錯誤訊息: porject project1.exe raised exception class EDBEngineError with message'Genenral SQL error. [Microsoft][ODBC Microsoft Access Driver]無效的描述器索引 [Microsoft][ODBC Microsoft Access Driver]無效的精確度數值。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-14 08:14:08 IP:202.39.xxx.xxx 未訂閱
您是怎麼修改的?參考: http://www.q3.nu/trucomania/truco.cgi?128&ing http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=507
{ Move data from TMemofield to a TMemo }
function TableMemoToMemo(var tMmoField : TMemoField; var tMmo : TMemo) :
boolean;
var
        bs         : TBlobStream;
        p        : pointer;
        mSize        : integer;
begin
        result := FALSE;            try
                bs := TBlobStream.create(tMmoField,bmRead);
                if bs = NIL then exit;
                mSize := bs.size 1;
                GetMem(p,mSize);
                if p = NIL then begin
                        bs.free;
                        exit;
                        end;                    fillchar(p^,mSize,0);
                bs.read(p^,mSize);
                tMmo.SetTextBuf(pchar(p));
                FreeMem(p,mSize);
                tMmo.enabled := TRUE;
                bs.free;
                result := TRUE;
        except
                on e : EDatabaseError do
                        showMessage(e.message);
                end;
end;    { Move data from TMemo to a TMemofield }
function MemoToTableMemo(var tMmo : TMemo; var tMmoField : TMemoField) :
boolean;
var
        bs        : TBlobStream;
        p        : Pointer;
        mSize        : integer;
begin
        result := FALSE;
        if (tMmo = NIL) or (tMmoField = NIL) then exit;
        try
                bs := TBlobStream.create(tMmoField,bmWrite);
                if bs = NIL then exit;                    mSize := tMmo.GetTextLen 1;
                GetMem(p,mSize);
                if p = nil then begin
                        bs.free;
                        exit;
                        end;                    fillchar(p^,mSize,0);
                tMmo.GetTextBuf(pchar(p),mSize);
                bs.write(p^,mSize);
                FreeMem(p,mSize);
                bs.free;
                result := true;
        except
                on e : EDatabaseError do
                        showMessage(e.message);
                end;
end;
發表人 - hagar 於 2004/06/14 08:15:02
系統時間:2024-07-03 4:35:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!