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 3434 게시물 읽기
No. 3434
Re: Update후에 다시 읽어 보면 update가 되질 않았거덩요.
작성자
fith
작성일
2000-09-05 00:05
조회수
1,037

::이희석 님께서 쓰시길::

 

> 소스는 아래와 같습니다..

> 근데 update후 다시읽어 보면 프로그램상에선 세그멘테이션 폴트가 나는군요.

> 이리저리 바꿔어도 봤죠...변수를 다르게 해서 읽어 보기도 하구 그러나 다 마찬가지로 세그멘테이션

> 폴트 가 나더군요..그래서..

> 같은 파일 내에서 일단 close시키고 다시 열고 읽었더니만..그건 되더군요..

>

> 이거 왜 그런것이죠....DB 한번만 열구서 거기서 업데이트 하구 삭제하구 하는 것들을 여러번 할수 있

> 어야 하는 거 아닌가요...꼭 알려 주세요....

>

> #include <stdio.h>

> #include "/usr/local/mysql/include/mysql/mysql.h"

> #include <errno.h>

>

> int main(void) {

>

> MYSQL mysql;

> MYSQL_RES* res, *res_2;

> MYSQL_ROW row,row_2;

> MYSQL_FIELD *field_fetch;

> int fields;

> int cnt;

> int row_c=0;

>

> printf("Welcome to db World!!!

");

>

> mysql_init(&mysql);

> if (!mysql_real_connect(&mysql, NULL, "arnold","arnold", "SIP" ,3306, (char *)NULL, 0)) {

> printf("%s

", mysql_error(&mysql));

> exit (1);

> }

> else {

> printf("connect success!!!

");

> if (mysql_query(&mysql, "USE SIP")) {

> printf("%s

", mysql_error(&mysql));

> exit(1);

> }

> if (mysql_query(&mysql, "SELECT * FROM Contact")) {

> printf("%s

", mysql_error(&mysql));

> exit(1);

> }

>

> res = mysql_store_result( &mysql );

> fields = mysql_num_fields(res);

> printf("fields = %d

",fields);

>

> while ( row = mysql_fetch_row( res )) {

> row_c++;

> printf("row_c=%d

",row_c);

> for(cnt = 0; cnt <fields ; ++cnt)

> printf("%12s ", row[cnt]);

> printf("

");

> }

 

여기서 부터 문제가 발생하는군요...

논리적으로 맞지 않아요.

 

이미 SELECT 하신것은 모두 패치 하셨네요...

> res = mysql_store_result( &mysql );

위줄 없애 주셔야 할듯....

 

> mysql_query(&mysql,"UPDATE Contact SET host=\4444444444444\ where user=\janggo\;");

 

여기 아래 줄부터...

UPDATE 에는 fetch 할 row 가 없어요....

 

따라서...

 

여기에...SELECT 가 한번 더와야 겠어요...

 

수고.

> res = mysql_store_result( &mysql );

>

> while ( row = mysql_fetch_row( res )) {

> row_c++;

> printf("row_c=%d

",row_c);

> for(cnt = 0; cnt <fields ; ++cnt)

> printf("%12s ", row[cnt]);

> printf("

");

> }

>

> while( (field_fetch = mysql_fetch_field(res) ))

> printf("field name %s

", field_fetch -> name ) ;

>

> }

> mysql_free_result( res );

> mysql_close(&mysql);

>

> return 0;

>

> }

>

[Top]
No.
제목
작성자
작성일
조회
3440# mysql 과 vb 연동시에 odbc를 사용하지 않고 연결할수 있나요?
오석호
2000-09-05
1063
3446┕>Re: # mysql 과 vb 연동시에 odbc를 사용하지 않고 연결할수 있나요?
최영봉
2000-09-05 13:59:01
1351
3439[질문]부팅시 mysql daemon ended가
이승언
2000-09-05
899
3442┕>Re: [질문]부팅시 mysql daemon ended가
정재익
2000-09-05 11:27:33
1185
3435쿼리문..............
신성수
2000-09-05
1037
3437┕>Re: 쿼리문..............
정재익
2000-09-05 09:05:16
971
3457 ┕>Re: Re: 쿼리문..............
신성수
2000-09-06 07:39:59
998
3433Update후에 다시 읽어 보면 update가 되질 않았거덩요.
이희석
2000-09-04
1028
3434┕>Re: Update후에 다시 읽어 보면 update가 되질 않았거덩요.
fith
2000-09-05 00:05:02
1037
3432제발 부탁드려요...
박상균
2000-09-04
1145
3431한글정렬 방법중에서 - ㄱ~ㅁ까지만 결과값으로 얻고 싶을 경우
유성희
2000-09-04
1187
3436┕>Re: 한글정렬 방법중에서 - ㄱ~ㅁ까지만 결과값으로 얻고 싶을 경우
정재익
2000-09-05 09:00:02
1548
3426MySQL DB 접속 에러...
박문석
2000-09-04
1140
3428┕>Re: MySQL DB 접속 에러...
정재익
2000-09-04 18:47:56
1329
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다