Q&A

  • String 길이에 관한 질문....
먼저 ADO쿼리에서 insert 구문으로 255자가 넘는 쿼리를 날릴려고 합니다.
상당히 무식한방법인것 같지만 이럴수 밖에 없네여

string이 255자까지 된다. 안된다 widestring은 255자 까지 된다라는 게시판글이 많은데요 해본 결과 둘다 안되는것 같습니다.

또한 sql.add('xx');
       sql.add('xx').......
      sql.text := 'xxxxx' +
      'xxxx' +
       ......   +
      'xxxx';

add나 text로 두줄세줄로 늘여쓰면 된다는 말도 있던데 해본 결과 안되는것 같아요..

명확한 정의를 내려주세여 ㅜㅜ
string이 255자 이상 되는데 제가 잘못한건쥐.... 아님 원래 그런건쥐~
4  COMMENTS
  • Profile
    id0313 2005.05.20 18:25
    늦게나마 답변.. 한동안 아무 생각없이 String에 255개 이상의 문자를 대입하면 에러가 난다고 알고서
    코딩했었는데..
    String type이 ShortString이던지, AnsiString이던지, WideString이던지 상관없다고 봅니다.
    String에 문자열을 대입했을때 델파이 컴파일러가 읽어 들일수 있는 문자열의 크기가 255바이트 까지만 읽을수 있네요. 그 이상의 문자열을 대입하려면, '255개의 문자'+'255개 문자' 이런식으로 해야 합니다.
    ShortString이나, AsiString, WideString은 위와 같이 했을때 얼마나 많은 양의 문자열을 대입할 수 있는가에대한 최대 크기를 말해주는 거고요.
    제가 알고 있는 사실이 틀렸을수도 있지만, 그런거 같네요.

  • Profile
    신동호 2004.11.17 07:07
    sql문 자체가 TStringList 객체로 되어 있습니다.
    그러므로 sql문은 한개의 Text 화일이라고 볼 수 있습니다.
    그래서,이 것을 이해하지 않은 상태에서 sql문을 저장하거나 날리면...
    첫 줄만 날라가게 되는 것입니다.

    해결 방법은 Sql.CommaText로 꼼마가 포함된 문장을 얻어서..
    for 문으로 꼼마를 모두 없애고 보내 보세요.


  • Profile
    한원희 2004.11.16 05:12
    안녕하세요. 한원희입니다.

    쿼리의 길이는 상관이 없는 것으로 알고 있습니다.
    제가 여태까지 ADO를 사용하면서도, 255자를 넘는 쿼리를 많이 사용해 봤지만, 오류가 나는 경우는 잘못된 쿼리를 줘서 그렇지 쿼리 문자열의 길이에는 상관이 없었습니다.

    INSERT 한 후에 나온 오류를 올려주시면, 문제점을 찾는데 도움이 되리라 생각됩니다.

    그럼, 즐프~

  • Profile
    모영철 2004.11.16 03:45
    전에 1000줄 정도 되는 쿼리를 ADO가 아닌 BDE를 이용해서 날리는데요..

    정확히 몇글자 인지 모르겠지만..

    TQuery.Sql.text로 그리고 Add를 써서 넣었습니다.

    1000줄정도 되면 글자는 몇천 글자 겠지요...??

    스트링문제가 아닌거 같네요...

    랭귀지 안내서를 찾아봤더니..

    ShortString 255문자

    AnsiString ~2 31승 문자
    WideString ~2 30승 문자

    라고 되있는데요..

    그리고 컴파일러는 자동으로 필요한 변환을 수행한다네요...

    ADO쪽에 뭔가 문제가 있는거 같은데요..

    ADO쪽은 잘 몰라서...ㅜ.ㅜ

    답을 찾으시길 빕니다.
    • 석주현
      2004.11.16 18:08
      그냥 Edit 와 updown VCL 을 이용해서 코딩을 해줘야 할거 같네요. Edit에서 커서 위치에 따라서 시간 분 ...
    • 김종균
      2004.11.17 06:14
      SpinEdit에서 커서위치를 어떻게 아는지요... 예제 있으면 올려
    • 양기태
    • 2004.11.16 06:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이두형
      2004.11.16 08:11
      제 생각엔 배열에 랜덤하게 직접 이미지를 넣는 방법보다, (근데 위 방법으로 랜덥하게 이미지를 선택해야...
    • 하얀까마귀
      2004.11.16 23:24
      안녕하세요 하얀까마귀 입니다. 아주 오래전 도스에서 png포맷으로 프로그램을 만든 기억이 ㅎㅎㅎ ...
    • 최성욱
    • 2004.11.16 01:47
    • 4 COMMENTS
    • /
    • 3 LIKES
    • id0313
      2005.05.20 18:25
      늦게나마 답변.. 한동안 아무 생각없이 String에 255개 이상의 문자를 대입하면 에러가 난다고 알고서 코...
    • 신동호
      2004.11.17 07:07
      sql문 자체가 TStringList 객체로 되어 있습니다. 그러므로 sql문은 한개의 Text 화일이라고 볼 수 있습니...
    • 한원희
      2004.11.16 05:12
      안녕하세요. 한원희입니다. 쿼리의 길이는 상관이 없는 것으로 알고 있습니다. 제가 여태까지 ADO를 사...
    • 모영철
      2004.11.16 03:45
      전에 1000줄 정도 되는 쿼리를 ADO가 아닌 BDE를 이용해서 날리는데요.. 정확히 몇글자 인지 모르겠지만...
    • 이정관
      2004.11.16 01:08
      uses절에 ComCtrls넣어주세요.
    • 최수림
      2004.11.16 01:09
    • 우용우
    • 2004.11.15 23:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.11.17 22:08
      안녕하세요. 최용일입니다. 아는 방법은 없을거 같은데요... 소켓을 오픈한다고 해도 공유기로 데이...
    • 정정봉
      2004.11.16 17:31
      처음 에러는 쿼리문장이 잘못 코딩이 된것 같구요. 두번째 에러는 Key값 중복 발생 에러 인것 같네요.
    • 델피언
    • 2004.11.15 21:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2004.11.16 05:15
      안녕하세요. 한원희입니다. 아마도 IF 문 다음에 BEGIN ... END를 하지 않아서 그런것이 아닐까요??? ...
    • 김종균
    • 2004.11.15 20:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정관
      2004.11.15 21:30
      showhint를 true로 하셨나요? 툴바에 버튼 등을 추가했다면 툴바의 힌트와 툴버튼의 힌트를 따로 지정해...
    • 김종균
      2004.11.15 21:40
      showhint는 ture입니다. 델파이7을 다시 설치했는데 그러네요
    • 이정관
      2004.11.16 18:39
      델파이를 새로 설치해도 그런다면 대체로 난감ㅡㅡ;;
    • 이정관
      2004.11.15 21:22
      if Pan_ProjectCode1.Caption = ''  then -> String문자가 아무것도 없을때   &...
    • 김정현
      2004.11.15 21:52
      제가 올려놓은 원문을 보면 SELECT  ProjectCode,KorProjectName  이문장을 SQL 에 ...
    • 이정관
      2004.11.15 22:18
      gsProjectCodeTable은 String변수입니다. 즉 변수라서 지정하가 나름이죠. 그리고 LIKE ''' + '%' + Edt_K...
    • 김정현
      2004.11.15 23:02
    • nilriri™
      2004.11.16 22:05
      무슨 작업을 하시려고 그러시는지 모르겠네요..^^; 디비 그리드에 서로 다른 테이블의 내용을 사용자 선...
    • 이두형
    • 2004.11.15 11:23
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2004.11.15 19:34
    • 이정관
      2004.11.15 18:55
    • 이두형
      2004.11.16 08:34
    • 이정관
      2004.11.16 18:33
    • 이두형
      2004.11.16 22:09
    • 이정관
      2004.11.16 22:32
    • 이두형
      2004.11.17 01:35
    • 노명환
    • 2004.11.15 10:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이정관
      2004.11.15 19:33
      예전에 퀵레포트 했던 경험으로는 이런 경우에 대해서 두가지 방법이 있었던것 같네요. 첫번째는 Query에 ...
    • 이정관
      2004.11.15 20:38
      두번째방법의 소스입니다.
    • 노명환
      2004.11.15 22:59
      답변 고맙습니다. 그런데 첨부하신 예제 프로그램에서 페이지 수가 무한정 늘어나 버리는데요. 뭐가 잘 ...
    • 이정관
      2004.11.16 01:00
      MsSQL2000서버의 Northwind의 Orders테이블을 연결해서 사용한 겁니다. TDataBase와 TQuery를 수정해서 ...
    • 김정현
      2004.11.15 18:33
      딱히 답변은 아니구요...^^ 예를 들어 환경설정 파일같은거나 게임환경정보를 저장해놓은....그런거... ...
    • nilriri™
      2004.11.15 21:57
      Self가 QReport라면.. 여기에서 구한 m이 필드명이 나온다면.. m:= tqrdbtext(components[i]).Caption;...
    • 가딘
      2004.11.16 20:14
      답변 감사하구요 문제는 디테일 밴드의 출력된 모든 값을 가지고와서 엑셀로 저장을 할려고 합니다. 쿼...
    • 구자균
      2005.02.03 19:22
      프린터를 일단 공유를 시켜요.영수증프린터는 삼보 570으로 잡고 공유시켜요. 다른 피시에서 네트웍공유...
    • 하얀까마귀
      2004.11.19 19:39
      안녕하세요 하얀까마귀 입니다. 먼저 LTP1이란 이름은 포트명이므로 이 이름은 쓸수 없습니다. 당...