database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29522 게시물 읽기
No. 29522
등록할 자료에 : 와 ` 가 같이 있으면 오류가 나요
작성자
김길남
작성일
2010-01-27 09:46ⓒ
2010-01-27 09:47ⓜ
조회수
7,622

INSERT INTO GOODS(H_CLASS, M_CLASS, L_CLASS, GOODS, GUBUN) VALUES (
'','','',
'READING SKILLS: THE BEST WAY 1 SB STUDENT`S BOOK WITH CD',
1
)

DB는 MySql5 버전입니다. 개발 툴은 Delphi2007 을 사용합니다.

Delphi에서 위 문장을 DB에 보내면

'매개 변수 개체를 잘못 정의했습니다. 제공된 정보가 일치하지 않거나 완전하지 않습니다'

오류 메시지가 나옵니다.

이러한 오류는 등록할 자료 중간에 : 와 ` 가 같이 있으면 생기는데

DB에 직접 접속해서 날리면 오류가 없습니다.

Delphi의 문제일까요?

이 글에 대한 댓글이 총 2건 있습니다.

 

흠...질문내용으로 만 보고는 잘 모르겟네요...아무 이상없이 : 와 ` 가 포함된 문자열 처리 잘 됩니다.

아시다시피 델파이에서 데이터베이스와의 연동의 방법은 많아서 -.- 그런 정보도 같이 주셔야죠..최소한 어떤 DataAccess 콤포넌트를 사용했는지 그리고 해당 SQL을 실행하는 부분쯔음의 소스코드도요..

Zeos / MyDAC + D7 + MySQL 5.1.23 에선 잘됩니다.

team b(teamb)님이 2010-01-27 13:32에 작성한 댓글입니다.

오래된 글이지만, 혹시 누군가는 필요하실 것 같아서, 글을 남깁니다.

저는 c++ builder + UniDAC 를 이용하고 있습니다.

특정문자가 들어 있는 문자열을 MySQL 에 넣을때 에러가 발생하는 경우에는 아래와 같이 특정문자 앞에 \ \ 를 붙여 주면 됩니다. ( 역슬래시 두개 )

 

c++Builder 예제는 아래와 같습니다.

stDate = StringReplace(stData,"'", "\'", Sysutils::TReplaceFlags() << Sysutils::rfReplaceAll ) ;

위의 예제 처럼  "  사이에 '  를 넣으셔서( " ' " ), 그 문자를 \ \ ' 로 바꾸면 됩니다. ( " \  \ ' " )

 

위 예제를 Copy Paste 하면, 역슬래시가 하나만  남네요. 역슬래시 두개입니다.

( 델파이에서 StringReplace 함수 사용법을 찾아보세요. )

초행길님이 2017-04-06 06:44에 작성한 댓글입니다.
이 댓글은 2017-04-06 06:51에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29529XML 파일의 데이타를 MySQL 에서 읽기 [1]
손호준
2010-01-30
8154
29527mysql 트랜잭션 문의드립니다.ㅠ. [1]
정대원
2010-01-29
7737
29523소수점 자리수 세기 [6]
theaegis
2010-01-28
9332
29522등록할 자료에 : 와 ` 가 같이 있으면 오류가 나요 [2]
김길남
2010-01-27
7622
29521[DB 복구 도움을 요청합니다.]
장상민
2010-01-26
8024
29520mysql 쿼리문 관련 질문드립니다. [1]
하태일
2010-01-26
6541
29519[ㄱㄱ 급--mysql.tar 복구 방법있나요???] [3]
장상민
2010-01-26
6238
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다