c# ¿¡¼­ excel ÆÄÀÏ ¸¸µé ¶§ Ä÷³¸íÀ¸·Î ¾µ ¼ö ¾ø´Â ¹®Á¦

¹«¾Æ   
   Á¶È¸ 3170   Ãßõ 0    

c#  에서 OleDbCommand 을 써서 excel 파일을 생성하고 있습니다.
그런데 컬럼명이 sql 에서 쓰는 예약어와 겹쳐서 문제가 되는데 쓸 수 있는 방법이 있을까요?

아래와 같이 count 라는 컬럼명을 생성하면 sql 실행시 에러가 납니다.

cmd.CommandText = "CREATE TABLE [table1] (count INT, etc VARCHAR);";

cmd.ExecuteNonQuery();

그래서 

CREATE TABLE [table1] ('count' INT, etc VARCHAR);

이렇게 홑따옴표를 쓰면 에러없이 잘 됩니다.

그런데 엑셀파일에서 열어보면 항목명이 홑따옴표까지 붙어서 나오네요.


일단은 count 라는 이름 대신 한글로 순번 이라고 해서 

CREATE TABLE [table1] (순번 INT, etc VARCHAR);

쓰고 있는데 실제로 영문으로 쓰게 될 경우 예약된 이름을 피하는 방법 말고는 없을까요?


...
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
±è»óÇõ2 2018-10
µû¿ÈÇ¥ ( ' ) ¸¦ ¾²½ÃÁö¸¶½Ã±¸¿ä Ä÷³¸í¿¡´Â ( ` ) µû¿ÈÇ¥¸¦ »ç¿ëÇϽøéµË´Ï´Ù.. Å°º¸µå 1¹öÆ° ¿·¿¡ ÀÖ´Â µû¿ÈÇ¥¿¡¿ä

CREATE TABLE [table1] (`count` INT, `etc` VARCHAR);
     
¹«¾Æ 2018-10
¾ÆÇÏ... Àߵ˴ϴÙ.
°í¸¿½À´Ï´Ù.
` - Grave (±×·¹À̺ê)  ¶ó°í Çϴ Ư¼ö±âÈ£ÀÔ´Ï´Ù.
¿í°¡ 2018-10
º½µéÆÇ¿¡¼­´Ù´Ô ¸»¾¸´ë·Î ±×·¹À̺ê ,¹éÄõÆ® ,¹éƽÀ̶ó°íµé ¸¹ÀÌÇÕ´Ï´Ù.


QnA