안녕하세요.
겁없이 도전하고 있는 델파이지망생입니다.
프로젝트를 정해서 프로그램하려고 하는데 읽어오기는 잘하는데 저장이 안되네요.
고수님들의 조언 부탁드립니다.
procedure TSub101F.btn_saveClick(Sender: TObject);
begin
With Query1 do
begin
sql.clear;
sql.add(' select * from tblmenu ');
sql.add(' where Skey = '''+ Temp_key+'''');
open;
if EOF then
begin
sql.clear;
sql.add(' Insert into tblmenu');
sql.add(' (Skey, Ymd, Mae, Bob, Kuk, C1, C2, C3, C4, C5, No) ');
sql.add(' Values('''+Temp_key+''', '+
' '''+Temp_ymd+''', '+
// ' TO_DATE('''+Temp_ymd+''','YYYY-MM-DD'), '+
' '''+Temp_mae+''', '+
' '''+bob.text+''', '+
' '''+kuk.text+''', '+
' '''+c1.text+''', '+
' '''+c2.text+''', '+
' '''+c3.text+''', '+
' '''+c4.text+''', '+
' '''+c5.text+''', '+
' TO_NUMBER('''+eatno.text+''') ');
end
else If Not EOF then
begin
sql.clear;
sql.add(' Update tblmenu SET ');
sql.add(' Skey = '''+Temp_key+''', '+
' Ymd = '''+Temp_ymd+''', '+
// ' Ymd = TO_DATE('''+Temp_ymd+''','YYYY-MM-DD'), '+
' Mae = '''+Temp_mae+''', '+
' Bob = '''+bob.text+''', '+
' Kuk = '''+kuk.text+''', '+
' C1 = '''+c1.text+''', '+
' C2 = '''+c2.text+''', '+
' C3 = '''+c3.text+''', '+
' C4 = '''+c4.text+''', '+
' C5 = '''+c5.text+''', '+
' No = TO_NUMBER('''+eatno.text+''') ');
sql.add(' where Skey = '''+ Temp_key+'''');
end;
try
ExecSql;
ShowMessage(' 자료가 저장되었습니다. ');
Except
ShowMessage(' Data 저장 오류가 발생되었습니다. ');
end;
Close;
ymd.SetFocus;
end;
end;
// 실행하면 다음 메세지가 뜨네요...
Project Project1.exe raised exception class EDBEngineError with message 'Invalid use of keyword'
Token: No)
Line Number ; 2', Process stopped. Use Stop or Run to continue.
부탁드립니다. 도와주세요. 꾸벅...
다른 부분은 타입같은거와 상관이 있을테니.. 다른 부분들에 대해 봐야 알겠고요..
에러는 No라는 필드가 디비에서 key Word로 있기 때문에.. 에러가 나는 겁니다..
이런 경우에는 그냥
tblMemu."No" 라고 해주시면 됩니다.
그럼 즐거운시간 되세요
- 하얀까마귀 -