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

¹«¾Æ   
   Á¶È¸ 3650   Ãßõ 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
Á¦¸ñPage 1059/5749
2014-05   5368570   Á¤ÀºÁØ1
2015-12   1882324   ¹é¸Þ°¡
2015-02   3699   Á¶º´Ã¶
2017-08   3699   ÀÌÁöÆ÷Åä
2019-06   3699   ÀÌÁöÆ÷Åä
2021-12   3699   naan
2021-10   3699   È­¶õ
2015-06   3699   foobar2000
2019-05   3699   ±è°Ç¿ì
2020-02   3699   ¸¸³âÃʺ¸
2021-04   3699   ¿ÀÁîÀǸ¿¼Ò¡¦
2021-03   3699   ´ºÀÚ
2019-05   3699   ¸¶½ºÄÚÆ®
2022-04   3699   newretrowave
2021-02   3700   ½ÅÀº¿Ö
2015-05   3700   ¹Ì´ã
2018-08   3700   pnim
2023-04   3700   ÆÈÄÚ
2023-07   3700   »ýȰºÎ±âÀÚ
2020-03   3700   °Ü¿ï³ª¹«
2014-03   3701   ¹ÚÁßȯ
2024-04   3701   ±èÁ¦¿¬