http://media.daum.net/society/view.html?cateid=1067&newsid=20100408103312698&p=ohmynews
서울 한강대교 첫 번째 난간에 올라가 시위를 벌였지만 1시간 만에 경찰에 연행됐다.
물리학과는 멀쩡하려나…
물리학과는 멀쩡하려나…
이 자바스크립트는 파이어폭스 웹 브라우저를 이용할 때 잘 작동합니다.
(따라서 이 블로그는 파이어폭스에 최적화 되어 있습니다.)
MS인터넷 익스플로러에서는 잘 안되는 것으로 알려져 있습니다.
파이어폭스 웹 브라우저는 아래의 주소에서 받을 수 있습니다.
http://www.mozilla.com
“안녕하세요, 자동차xx협회(?)에서 연락드립니다. 혹시 자동차 운전 하십니까?”
“네”
“한달에 기름값으로 얼마정도 지출하십니까?”
“어…한달에 5만원이요”
“…”
사실 한달에 5만원어치도 안 넣는다.;;;
“운전 안하시나요?
“출퇴근 할때 차 끌고 다니는데요”
“그런데 한달에 5만원 넣으세요?”
“통근 거리가 2km정도라…”
…
그리고 여기서 전화가 끊겼다.
??
누구지. 왜 전화한건가. 여자라 받아줬더니 … 남자였으면 끊었을 내용을 기껏 받아줬더니 그냥 끊는건 무슨…
일단, 아래 링크에 가서 System.Data.SQLite 의 최신 버전을 받는다. 이것은 Visual Basic에서 SQLite를 쓸 수 있게 해주는 컴포넌트들을 모아둔 것이다.
http://sqlite.phxsoftware.com/
제대로 설치했다면
도구상자에서 SQLite라는 것을 찾을 수 있을 것이다. 이제 시작이다.
1단계 – DB생성하기
뭘 하든지, 일단 갖고 놀 대상이 있어야 작업을 할 수 있다. DB를 만들어 보자.
우선, SQLite.SQLiteConnection 객체 하나를 만들어야 한다. SQLconnect라는 인스턴스 이름을 주자.
이대로 선언하면, 아마 뭐가 없다고 할 것이다. 그러니까, 위에 도구상자에서 SQLiteConnection 하나를 끌어다가 창에 갖다 둔다.
그럼 이제 SQLiteConnection을 쓸 수 있게 된다.
방금 만든 SQLconnect를 DB에 열어야 하는데, 매우 간단하다. 다음의 세 문장이면 된다.
여기서 dbfile은 DB로 사용할 파일의 경로이다. SQLite는 파일 확장자로 db3을 사용하며, 파일 1개가 DB 1개에 해당한다. dbfile의 경로는 SaveFileDialog 같은데서 적당히 지정해서 알려주면 된다.
아무튼 여기까지 했으면 DB파일이 하나 생성되어 있을 것이다. 방금 우리가 한 것은 새로운 DB파일을 만들어서, 열었다가, 닫은 것이다.
2단계 – DB에 테이블 만들기
알다시피 SQL로 DB를 갖고 놀기 위해서는, DB가 있어야 하고, 그 안에 Table이 있어야 하고, 그 안에 Column과 Record가 있어야 한다. 순서대로 형성해야 하는데, 일단 테이블부터 만들자.
이 작업은, 앞에 1단계에서 했던 명령어 중, 일단 SQLconnect.Open()까지는 똑같다. 왜냐하면, 뭔가 작업을 하려면 일단 DB를 열어야 하기 때문이다. 공책에 뭔가를 적기 위해서는 일단 공책을 펼쳐야 하지 않겠는가? 따라서, SQLconnect.Open()까지는 실행했다 치고, SQLconnect.Close()는 아직 실행하지 않은 상태이다. 즉, DB가 열려있는 상태에서 다음과 같은 코드를 써넣으면 된다.
SQLcommand라는 객체를 도 만든다. 이 객체는 SQLconnect.CreateCommand라는 클래스의 객체이다. 하지만 이대로 하면 또 뭔가 안된다고 할 수도 있다.
이 경우, 위와 같이 SQLiteCommand라는 컴포넌트를 갖다가 끼워준다. 그럼 이제 SQLconnect.CreateCommand를 쓸 수 있게 된다.
그 다음, SQLcommand.CommandText에는 테이블을 만드는 SQL명령문이 들어가면 된다. 다들 알다시피 CREATE TABLE이 바로 그 명령이다. SQL에서 테이블을 어떻게 만드는지는 SQL책을 참고하자. 아무튼, 어떤 명령을 내릴 것인지 지정을 했으니까, 이제 SQLcommand.ExecuteNonQuery()를 실행시킨다. 이 명령어는 CREATE, INSERT, UPDATE, DELETE같은 DB의 내용을 바꾸는 것들에 대한 명령이다.
눈치채야 하는 부분은, SQLite를 쓰려면 다음과 같이 하면 된다는 것이다.
1. DB를 연다
2. SQLCommand 객체에 SQL명령어를 입력한다.
3. 그 명령어를 실행시킨다.
4. 명령어 객체와 DB객체를 닫는다.
그건 그렇고, 테이블 만드는건 CREATE로 하면 되고, 거기에 내용 넣는건 INSERT랑 UPDATE로 하면 되고 지울거면 DELETE로 하면 되는데, 넣은걸 읽어오려면?
이제 SQL의 가장 중요한 구문인 SELECT를 해볼 차?
앞에서 SQLcommand의 SQLcommand.CommandText에다가 SELECT 명령어와 그에 따른 구문을 입력하는 것 까지는 똑같다. 그런데, 이번엔 실행시켜야 하는 명령어가 다르다.
여기서 SQLreader는 그냥 평범한 배열이다. 별거 없다. TABLE에서 지정한 column이 순서대로 들어가 있을 뿐이다. SQLreader(0)하면 TABLE의 가장 첫번째 열에 있는 애들의 column이 쭉 들어가 있다.
자세한건 좀 더 연구해 봐야겠다. 기록을 위한 글쓰기는 여기까지. 나도 잘 모름.
유일한 문제라면, 이 코드의 컴파일된 바이너리를 윈도우용으로 해 가야만 하는지, 리눅스용으로 해도 괜찮은지다. 윈도우용으로 해야 한다면, 연구소로 갖고 가서 Visual studio를 써서 컴파일하든가, mingw를 설치해서 컴파일하든가 해야 한다. 아님 DevC++를 설치해서 빌드해도 나쁘지 않겠다.
하지만 C랑 비슷해서 그런지, 객체지향적 코드의 느낌은 잘 나지 않았다. (아마 내가 코딩해서 그럴 수도 있다.) 숙제 결과물은 나중에 성적 발표되면 올려두도록 하겠다.