구체적인 코드는 여기서 적을 수 없지만, 참고로 적어 봅니다.
SELECT 문장은 결과집합을 만들기 때문에 아래에 예시한 것처럼
하면 됩니다. 그러나, INSERT, DELETE, UPDATE는 결과집합이
없기 때문에 아래와 같이 사용하는 것은 문제가 있습니다.
보통 ADO로 작업할 때는(저의 경우는 그랬습니다), Connection 객체로
DB에 연결하고, Command 객체에서는 INSERT, UPDATE, DELETE 작업을,
Query 객체는 SELECT 전용으로 사용하였습니다.
이런 식으로 사용하는 예제가
Tutorial 게시판에 시리즈로 나와 있습니다. 참고 하시면 될 것 같네요..
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=1
좋은 결과 있으시길...
김영욱 님이 쓰신 글 :
: DB쪽 프로그램 처음입니다.
: 막막하기만 한데요... 고수님들 도움 요청하고 싶습니다.
:
: MDB파일에서 Insert, Delete할때 문제가 생깁니다.
:
: 데이터 MDB연결은..
: ADOQuery1->ConnectionString=
: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
: +ExtractFilePath(Application->ExeName)+"student.mdb"
: ";Mode=ReadWrite;Persist Security Info=False";
: ADOQuery1->Close();
: ADOQuery1->SQL->Clear();
: ADOQuery1->SQL->Add("select * from info");
: ADOQuery1->Open();
:
: 데이터 삽입은
: AnsiString str;
: ADOQuery1->Close();
: ADOQuery1->SQL->Clear();
: str="insert into info values('"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"','"+Edit4-
: >Text+"','"+Edit5->Text+"')";
: ADOQuery1->SQL->Add(str);
: ADOQuery1->Open();
:
: 위처럼 하는데 위 구문을 컴파일러 상에서 실행하면
: "EOleException with message '현재공급자가 하나의 실행으로 여러개의 레코드 집합을 반환하는 것을 지원하지 않습니다." 라는 에러메시지가 발생하는데
:
: try...catch문으로 막고 컴파일하고 컴파일러가 아닌 실행파일을 바로 실행하면
: 데이터 삽입은 됩니다.
: 컴파일시에도(디버깅 때문에) 에러가 안나는 방법은 없을까요?
:
: 꼭좀 부탁드립니다.
: 김영욱 올림