Background Image

FORUM

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

아래와 같이 처리했는데 업로드가 안됩니다.

업로드/다운로드하는 방법점 갈켜주세요..

pValueBuffer가 데이터 nWriteSize가 크기입니다.
---------------------------------------------------------------------------------------------------------------------------------------------------
영상 업로드

CString strQueryBegin, strQueryEnd;
strQueryBegin.Format("INSERT photo(image) VALUES('");
strQueryEnd.Format("')");

const ULONG nQueryBeginLength  = strQueryBegin.GetLength();
const ULONG nValueLength          = nWriteSize
const ULONG nQueryEndLength    = strQueryEnd.GetLength();
const ULONG nQueryLength          = nQueryBeginLength+nValueLength+nQueryEndLength;

char* pQueryBuffer = new char[nQueryLength+100];

memcpy(pQueryBuffer, strQueryBegin, nQueryBeginLength);
memcpy(pQueryBuffer + nQueryBeginLength, pValueBuffer, nValueLength);
memcpy(pQueryBuffer + (nQueryBeginLength + nValueLength), strQueryEnd, nQueryEndLength);

int nRes = m_dbCubrid.execDML(pQueryBuffer);
---------------------------------------------------------------------------------------------------------------------------------------------------

int execDML(LPCTSTR szSQL)
{
 if( m_conn <= 0 )
 {
  sprintf(m_szBuf, "no open db");
  return -1;
 }

 int req, res;

 // 질의 컴파일을 수행한다.
 if ((req = cci_prepare(m_conn, (char*)szSQL, 0, &m_error)) < 0) {
  // 에러 발생시 에러 코드와 에러메세지등을 출력한다.
  sprintf(m_szBuf, "prepare error[%d] %sn SQL: %sn", m_error.err_code, m_error.err_msg, szSQL);
  // 에러가 발생하였으므로 롤백처리한다
  cci_end_tran(m_conn, CCI_TRAN_ROLLBACK, &m_error);

  return -1;
 }

 // 질의를 수행한다.
 if ((res = cci_execute(req, 0, 0, &m_error)) < 0) {
  sprintf(m_szBuf, "prepare error[%d] %sn SQL: %sn", m_error.err_code, m_error.err_msg, szSQL);
  cci_end_tran(m_conn, CCI_TRAN_ROLLBACK, &m_error);
  return -1;
 }

 // 에러없이 정상 처리되었으므로 커밋 처리한다.
 if (cci_end_tran(m_conn, CCI_TRAN_COMMIT, &m_error) < 0) {
  // 입력중 커밋 에러이므로 알려야 한다.
  sprintf(m_szBuf, "COMMIT ERROR [%d] %sn", m_error.err_code, m_error.err_msg);
  return -1;
 }

 return 0;
}

  • ?
    anonymous 2009.09.25 04:43
    pValueBuffer의 데이터가 binary 라면 string으로 변환하여 SQL로 만들어야 합니다. bit string은 B'0101..' 과 같은 형식으로 이루어져야 합니다. CUBRID  매뉴얼 bit 데이터 타입 부분에 해당 내용이 있습니다.

    데이터의 크기가 크다면 SQL로 변환하여 insert 하는 것은 비효율적입니다. CCI의 bind ( cci_bind() )함수를 사용하시길 권합니다. 


  1. No Image notice by admin 2024/04/23 by admin
    Views 48 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 에러 코드 질문 드립니다.

  4. 에러 코드 확인 부탁드립니다.

  5. 에러 한번 봐주세요

  6. 에러가 왜 날까요... 잘 입력 되다가 이런 에러가 나네요.. 파이선 사용자입니다.

  7. 에러메세지 한글 깨짐

  8. 에러메시지 문의 드립니다

  9. 에러코드 -51 질문드립니다.

  10. 에러코드 찾는방법 질문

  11. 에러코드좀 봐주시면 감사하겠습니다.

  12. 에러현상

  13. 엑셀 가져오기시 한글 일부 깨짐

  14. 엑셀 파일 임포트시 오류

  15. 엑셀에서 oledb등록하려고 하니까 이런 오류가 나네요

  16. 엑셀파일로 데이터 입력 시 오류

  17. 엑셀파일로 데이터넣을때 질문입니다

  18. 엔터 개행문자 역슬래쉬 문제

  19. 여러개 데이터 한번에 insert 문 수행하는 방법

  20. 여러행에 걸쳐 있는 데이터를 하나의 행으로 모으는게 가능하나요?

  21. 여러행의 로우를 하나의 로우로 나오게 할수 없나요??

  22. 연결(Connection)을 얻을 수 없습니다. 브로커와 서버의 구동 상태를 점검하십시오. 이 에러가 납니다

Board Pagination Prev 1 ... 136 137 138 139 140 141 142 143 144 145 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales