C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74017] Re:DBGrid에서 DBGrid1->FIelds[0]->Text에서 추가하는 방법
하안인 [hurco] 3434 읽음    2016-12-01 09:56
DB에 있는 내용을 업데이트하려면 먼저 상태값이 edit 상태이어야 합니다.

DBGrid1->State != dsEdit  || DBGrid1->State != dsInsert    이면
DBGrid1->Edit();  -> 이상태로 바꾸고 나서 업데이트 하셔야 합니다.

State , Edit()  값을 찾아 보시면 알수 있습니다.


고고싱TV 님이 쓰신 글 :
: 안녕하세요! C++ 빌더 초보 고고싱입니다!
: 제가 DBGrid에다가 필드를 선택해 항목을 추가 시키는 프로그램을 짜려고 하는데요~
: 선생님께서 DBGrid1->Fields[필드번호]->Text라는 것으로 추가를 할수있다고 하십니다~
: Query에서 SQL에서 INSERT를 하는것보다 쉽다고 하셔서요~
: 그래서 제가 이렇게 프로그램을 짜보았습니다!
:     AnsiString r=Socket->ReceiveText(),c;
:     int a=r.Pos('#'),t=0;
:     c=r.SubString(1,a-1);
:     DBGrid1->Fields[0]->Text=c;
:     r=r.Delete(1,a);
:     a=r.Pos('#');
:     c=r.SubString(1,a-1);
:     DBGrid1->Fields[1]->Text=c;
:     r=r.Delete(1,a);
:     a=r.Pos('#');
:     c=r.SubString(1,a-1);
:     DBGrid1->Fields[2]->Text=c;
:     r=r.Delete(1,a);
:     a=r.Pos('#');
:     c=r.SubString(1,a-1);
:     DBGrid1->Fields[3]->Text=c;
:     r=r.Delete(1,a);
: 원래 좀 짧게 할수있는데 사실은 에러가 나서 바꾸었어요.
: 그 에러가 뭐냐면은
: Project Project1.exe raised exception class EDatabaseError with message 'ADOQuery1: Dataset not in edit or insert mode'.
: 이에요... 대충 해석해 보니까 Query가 에딧 또는 인서트 모드가 아니라서 데이터를 저장할수 없습니다 라고 해석했어요.
: 어떡하면 될까요? 도와주시면 감사하겠습니다!

+ -

관련 글 리스트
74016 DBGrid에서 DBGrid1->FIelds[0]->Text에서 추가하는 방법 고고싱TV 3587 2016/11/30
74017     Re:DBGrid에서 DBGrid1->FIelds[0]->Text에서 추가하는 방법 하안인 3434 2016/12/01
74028         Re:Re:DBGrid에서 DBGrid1->FIelds[0]->Text에서 추가하는 방법 고고싱TV 3849 2016/12/07
74029             Re:Re:Re:DBGrid에서 DBGrid1->FIelds[0]->Text에서 추가하는 방법 3560 2016/12/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.