Q&A

  • 테이블에 테이타를 넣으려고 합니다. -.- (급)
안녕하세요.

디비는 MySQL을 쓰고 있습니다.

데이터를 테이블에 집어넣으려고 하는데 자꾸 다음과 같은 에러 메세지가 뜨네요.

Project SCEDMS.exe raised exception class EDBEngineError with message 'General SQL

error.

[TCX][MyODBC]You have an error in your SQL syntax near 'values('aaa','bbb','Jacky

Hartnett','ccc')

'at line 2'. Process stopped. Use Step or Run to continue.



그런데 왜 이런 메세지가 뜨는지.... -.-

아마 문법이 틀린것 같은데...코드 좀 봐 주세요.



procedure TForm3.Add_OKClick(Sender: TObject);

var

newId, dm_title, dm_kw, lt_name : string;

begin

newId := Edit1.Text;

dm_title := Edit2.Text;

dm_kw := Edit3.Text;

lt_name := Form2.full_name;



if IDoc.Checked then

begin

showmessage('checked');

end

else

begin

Query1.SQL.Clear;

Query1.SQL.Add('insert into MainEDMS(nnode, title, writer, keyword');

Query1.SQL.Add('values('''+ newId +''','''+ dm_title +''','''+ lt_name +''','''+ dm_kw +''')');

Query1.ExecSQL;

end;

end;



MainEDMS 테이블에 필드가 nnode, title, writer, keyword 이거 말고 더 있습니다.

그런데 이 필드에만 데이타값이 들어 가면 되거든요.

전체 필드를 다 적어 주고, 값도 다 적어 주어야 하나요?

데이블 만들때, 전부 다 null 값을 디폴트로 정해 주었거든요.

그래서 Mysql 문에서 하나의 필드만 정해서 값을 넣었더니 값이 들어가는걸 봐서는

필드를 다 적어 주고, 값도 다 적어 주지 않아도 되는거 아니예요 ?

아래와 같이 했더니 입력이 되었습니다.

mysql> insert into MainEDMS (mody)

-> values('M');

Query OK, 1 row affected (0.01 sec)



아무리 봐도 문법이 틀린것 같습니다.

너무 급해서 그럽니다. 꼭 좀 도와 주십시요. -.-

2  COMMENTS
  • Profile
    cell 2001.03.22 05:56
    Query1.SQL.Add('insert into MainEDMS(nnode, title, writer, keyword')

    우괄호가 하나 빠졌네요..



  • Profile
    sunny 2001.03.22 06:33
    정말 감사합니다.

    사소한것에서 에러가 난다는것을 또 한번 느꼈습니다.

    감사합니다.

    꾸벅꾸벅 ^-------------^