Q&A

  • query를 이용한 자동번호 삽입...
query를(데이타입력시) 사용후 자동으로 db의 데이타번호를 자동으로 삽입하려면....

DBgrid에 data를 삽입하려 하는데

저는 여기서 임의의 숫자를 계속입력했는데...

자동으로 no를 채울수는 없을까요?

procedure TForm2.DB_Input;

begin

with form1 do

begin

//n, a, n, a, d

query1.ParamByName('N1').asstring := edit1.Text;

query1.ParamByName('N2').asstring := edit2.Text;

query1.ParamByName('N3').asstring := edit3.Text;

query1.ParamByName('N4').asstring := edit4.Text;

query1.ParamByName('N5').asstring := edit5.Text;

end;

end;



procedure TForm2.BitBtn1Click(Sender: TObject);

begin

if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text = '')

or (edit4.Text = '') or (edit5.Text='') then

begin

application.MessageBox('입력을 다시 확인 하세요!','입력오류',MB_OK);

end

else

begin

with form1 do

begin

query1.sql.Add('insert into 만화책');

query1.SQL.Add('(no, name, book, address, date)');

query1.sql.Add('values');

query1.sql.Add('( :N1,');

query1.sql.Add(' :N2,');

query1.sql.Add(' :N3,');

query1.sql.Add(' :N4,');

query1.sql.Add(' :N5)');

DB_Input;

end;

form1.Query1.ExecSQL; <=====이부분에서 error가 납니다. 해결 좀 해주세요

end;



end;





3  COMMENTS
  • Profile
    한재아 1999.05.04 00:38
    프로그램사용중 원하는 데이타를 상대방에게

    FAX로 보내려면 어떻게 하면 되죠



  • Profile
    김상영 1999.07.15 10:28
    배동진 께서 말씀하시기를...

    > query를(데이타입력시) 사용후 자동으로 db의 데이타번호를 자동으로 삽입하려면....

    > DBgrid에 data를 삽입하려 하는데

    > 저는 여기서 임의의 숫자를 계속입력했는데...

    > 자동으로 no를 채울수는 없을까요?

    > procedure TForm2.DB_Input;

    > begin

    > with form1 do

    > begin

    > //n, a, n, a, d

    > query1.ParamByName('N1').asstring := edit1.Text;

    > query1.ParamByName('N2').asstring := edit2.Text;

    > query1.ParamByName('N3').asstring := edit3.Text;

    > query1.ParamByName('N4').asstring := edit4.Text;

    > query1.ParamByName('N5').asstring := edit5.Text;

    > end;

    > end;

    >

    > procedure TForm2.BitBtn1Click(Sender: TObject);

    > begin

    > if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text = '')

    > or (edit4.Text = '') or (edit5.Text='') then

    > begin

    > application.MessageBox('입력을 다시 확인 하세요!','입력오류',MB_OK);

    > end

    > else

    > begin

    > with form1 do

    > begin

    > query1.sql.Add('insert into 만화책');

    > query1.SQL.Add('(no, name, book, address, date)');

    > query1.sql.Add('values');

    > query1.sql.Add('( :N1,');

    > query1.sql.Add(' :N2,');

    > query1.sql.Add(' :N3,');

    > query1.sql.Add(' :N4,');

    > query1.sql.Add(' :N5)');

    > DB_Input;

    > end;

    > form1.Query1.ExecSQL; <=====이부분에서 error가 납니다. 해결 좀 해주세요

    > end;

    >

    > end;

    >

    >



    위의 문법을 보니깐 Clear를 사용하지 않았기 때문에 에러가 발생한것 같습니다.

    기본적으로 Sql문을 작성하는 방식은 다음과 같습니다.

    With Query1 do

    Begin

    Close;

    Sql.Clear;

    Sql.Add('Select * From Test');

    Open;

    End;



    다음과 같이 하시면 위의 문제는 해결될것입니다.

    그리고 자동 Count하는 방법은 먼저 MAX를 구해서 +1해주는 방법이 가장

    쉬운 방법입니다.



    Ex)

    Var

    i : Integer;

    With Sql1 do

    Begin

    Close;

    Sql.Clear;

    Sql.Add('Select Max(No) Max_no from Test');

    Open;

    End;

    i := Sql1.FieldByName('Max_No').AsInteger + 1;



    위와 같이 먼저 i값을 구한후 삽입작업을 하시면 됩니다.



    아망씨 델파이 개발자 홈페이지 담당자

    http://www.zzz.co.kr

  • Profile
    이정욱 1999.05.04 02:14
    팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다.

    공개된것은 없습니다... 상용을 사셔야 하구요...

    AsyncProfessional이라는 컴포넌트가 있습니다.

    나이렉스로 전화해 보세요. 521-7900 입니다.



    한재아 wrote:

    > 프로그램사용중 원하는 데이타를 상대방에게

    > FAX로 보내려면 어떻게 하면 되죠

    >





    • BDS
    • 1999.07.15 22:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김영애
    • 1999.05.04 05:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하윤철
      1999.05.04 23:12
      김영애 wrote: > 이것을 함으로써 보고서가 어렵다는 것을 다시한번 느꼈습니다.. > 이것을 테이블 4개를...
    • rain
      1999.05.04 05:34
      저는 그와 같은 상황에서는 일종의 View를 만들어서 해결합니다. 아니면, 폼의 내용과는 상관없는 SQL...
    • 안류진
    • 1999.07.15 22:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.07.15 23:20
      안류진 께서 말씀하시기를... > 안녕하세요! 저는 현재 SQL SERVER,SYSBASE를 사용하고 있습니다. > > ...
    • rain
      1999.05.04 05:26
      김유호 wrote: > 디베이스 파이일로 윈 98에서 작업한 프로그램을 공유하여 사용하여보고 있는데 랜으로 ...
    • 안치봉
      1999.07.15 22:51
      WM_SYSCOMMAND 메세지를 사용하세요. if M.WParam = SC_CLOSE then begin M.Result := 0; end e...
    • 박회연
    • 1999.05.03 18:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.05.04 05:21
      박회연 wrote: > BDE/ODBC 에 대한 ..... > > Borland Delphi Engin 이 무엇을 하고 어떻게 활용을 해...
    • 솔잎
    • 1999.07.15 21:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고혜정
    • 1999.05.04 04:04
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 김장현
      1999.07.15 20:29
      Acd-see를 사용 해 보신 분은 thumbnail기능을 알고 계실 것입니다. Acd-see의 thumbnail은 기존의 이미지...
    • 변대섭
      1999.05.04 06:10
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • 글쎄요
      1999.07.15 21:43
      여기에 가보셔요. 참고가 되실 겁니다. http://www.efg2.com/Lab/
    • 안치봉
      1999.05.04 06:02
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • rain
      1999.05.04 05:31
      고혜정 wrote: > 안녕하세용... 궁금한점이 또있어 이렇게 보냅니다. > 폼이 보일때, combobox에 있는 리...
    • 고혜정
    • 1999.05.04 03:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김민오
      1999.07.15 20:11
      변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요. Round는 소숫점 첫자리만 되는...
    • 신인재
      1999.05.04 06:20
      고혜정 wrote: > 안녕하세요. DBGrid의 값을 저장 하는방법을 알고싶은데... > 제가 알고 싶은 것은 DBGi...
    • 글쎄요
      1999.07.15 21:35
      김민오 께서 말씀하시기를... > 변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요....
    • 박태식
    • 1999.05.04 03:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.04 05:59
      박태식 wrote: > delphi에서 디렉토리의 속성을 변경시키는 부분을 알고 싶습니다. > 아시는 분은 조금 ...
    • 조복기
    • 1999.07.15 19:53
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 안명호
      1999.05.03 19:13
      델파이 IDE의 에디터 창의 왼쪽에 생기던 거터가 언제부턴가 생기지 않아요.. 예전에 윈도우 95 상에서 ...
    • 안치봉
      1999.07.15 21:24
      안녕하세요. 팝업메뉴가 팝업될대는 절대적 위치의 값을 받습니다. 스피드버턴의 마우스다운에서 넘...
    • 안치봉
      1999.05.04 03:08
      안명호 wrote: > 델파이 IDE의 에디터 창의 왼쪽에 생기던 > 거터가 언제부턴가 생기지 않아요.. > 예전...
    • 조복기
      1999.07.15 22:52
      테스트는 아직 해보질않았지만 친절한 답변 감사합니다.. 좋은하루되세요..
    • 글쎄요
      1999.07.15 20:16
      GetCursorPos()함수를 사용하셔요. 그럼..
    • 배재민
    • 1999.05.04 03:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 나금보
      1999.07.15 19:22
      안녕하세요? 질문이 있어 이렇게 글을 올립니다. 저는 ListView의 Properties에서 ViewStyle은 vsRepor...
    • 신인재
      1999.05.04 06:30
      배재민 wrote: > 에러 메시지 중 다음 에러는 무었때문에 발생을 합니까 ? > > 'No user transaction i...
    • 김종환
    • 1999.07.15 10:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 정인철
      1999.05.03 23:11
      스트링그리드에서 키를 입력할시 기본적으로 세팅되어있는 키입력에 대한 처리기능을 없애고 새롭게 다시...
    • 이창남
      1999.07.15 18:16
      김종환 께서 말씀하시기를... > 스트링 그리드에서 마우스로 선택한, 즉 포커스를 가지고 있는 셀의 > 내...
    • 이정욱
      1999.05.04 02:19
      StringGrid의 OnKeyDown이벤트에서 Key := 0; 로 해버리시면 키가 다 무시됩니다. 단 Key := 0로 해주...
    • 김종환
      1999.07.15 19:41
      감사 합니다. -----------------------답변에 내이름이 많이 오르는 그날을 위해-----
    • 이용일
    • 1999.07.15 10:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.05.04 01:31
      안녕하세요. character(1자)를 Hexadecimal값으로 변경할려고 합니다. 어떻게 해야 하는지요
    • 이정욱
      1999.07.15 19:25
      정수형 숫자를 스트링으로 바꾸는것~ IntToStr 그반대는 StrToInt 실수형(소수점)숫자를 ...
    • 이정욱
      1999.05.04 02:17
      만약 C가 Char형이고 HexStr이 스트링형라면... HexStr := IntToHex(IntToStr(Ord(C)),2); 위처럼 해...
    • 배동진
    • 1999.07.15 08:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 한재아
      1999.05.04 00:38
      프로그램사용중 원하는 데이타를 상대방에게 FAX로 보내려면 어떻게 하면 되죠
    • 김상영
      1999.07.15 10:28
      배동진 께서 말씀하시기를... > query를(데이타입력시) 사용후 자동으로 db의 데이타번호를 자동으로 삽입...
    • 이정욱
      1999.05.04 02:14
      팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다. 공개된것은 없습니다... 상용을 사셔...
    • 배동진
    • 1999.07.15 08:13
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.05.04 01:31
      안녕하세요. character(1자)를 Hexadecimal값으로 변경할려고 합니다. 어떻게 해야 하는지요
    • 조복기
      1999.07.15 19:02
      안녕하세요..조복기입니다.. 비가 오니까 시원해서 좋네요.. 제생각엔 sql.add만 있고 그전에 clear...
    • 이정욱
      1999.05.04 02:17
      만약 C가 Char형이고 HexStr이 스트링형라면... HexStr := IntToHex(IntToStr(Ord(C)),2); 위처럼 해...
    • 한재아
    • 1999.05.04 00:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김종호
      1999.07.15 07:59
      전번에 올렸는데 그냥 지나가서요~ ^^; 라이센스 제한을 하는 프로그램을 짜보려고 하거든요.. 제가 정한...
    • 이정욱
      1999.05.04 02:14
      팩스를 보내시려면 팩스를 지원하는 컴포넌트를 사용하셔야 합니다. 공개된것은 없습니다... 상용을 사셔...