Q&A

  • Query 에서 테이블 생성
ADO 를 이용하여 mdb 테이블을 생성하려 합니다.



동적생성이기때문에 생성될 테이블의 이름을 tbname 이라는 Parameter 로 입력

받으려하고 있습니다.



ADOQuery1 를 이용하여 SQL 속성에 다음과 같이 입력했습니다.



CREATE TABLE :tbname

(

번호 char(9) null,

아이디 char(11) null,

이름 char(11) null,

접속시간 char(13) null,

종료시간 char(13) null

)



그리고 코드로



ADOQuery1.Parameter[0] := 'asdasd';

ADOQuery1.ExecSQL;



이렇게 하고 컴파일을 했습니다. 그런데 Syntax In CREATE TABLE 이라는

오류가 뜹니다.



문법이 틀렸다는 것 이겠지요..



하지만, ADOQuery1.SQL 에서 :tbname 부분을 직업 테이블 이름값 asdasd

등으로 할당하면 전혀 문제가 되지 않습니다..



즉, SQL 문장 자체에는 문제가 없고, 파라메터와의 연결에서 문제로 보이는데,

어떻게 해결을 해야할지 조언좀 부탁드리겠습니다.





1  COMMENTS
  • Profile
    이재호 2000.03.08 20:34
    이지만 wrote:

    > ADO 를 이용하여 mdb 테이블을 생성하려 합니다.

    >

    > 동적생성이기때문에 생성될 테이블의 이름을 tbname 이라는 Parameter 로 입력

    > 받으려하고 있습니다.

    >

    > ADOQuery1 를 이용하여 SQL 속성에 다음과 같이 입력했습니다.

    >

    > CREATE TABLE :tbname

    > (

    > 번호 char(9) null,

    > 아이디 char(11) null,

    > 이름 char(11) null,

    > 접속시간 char(13) null,

    > 종료시간 char(13) null

    > )

    >

    > 그리고 코드로

    >

    > ADOQuery1.Parameter[0] := 'asdasd';

    > ADOQuery1.ExecSQL;

    >

    > 이렇게 하고 컴파일을 했습니다. 그런데 Syntax In CREATE TABLE 이라는

    > 오류가 뜹니다.

    >

    > 문법이 틀렸다는 것 이겠지요..

    >

    > 하지만, ADOQuery1.SQL 에서 :tbname 부분을 직업 테이블 이름값 asdasd

    > 등으로 할당하면 전혀 문제가 되지 않습니다..

    >

    > 즉, SQL 문장 자체에는 문제가 없고, 파라메터와의 연결에서 문제로 보이는데,

    > 어떻게 해결을 해야할지 조언좀 부탁드리겠습니다.

    >

    >



    Sql 속성을 Coding으로 변경해보세요



    x = 'asdasd';



    ADOQuery1.SQL = 'CREATE TABLE ''' + x + ''' +

    ' (번호 char(9) null, ' +

    ' 아이디 char(11) null, '+

    ' 이름 char(11) null, '+

    ' 접속시간 char(13) null, '+

    ' 종료시간 char(13) null '+

    ' )'



    도움이 될런지 모르겠습니다...