C++ MySQL ネイティブアクセス

  サンプルコード



  
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <winsock.h>
#include <mysql.h>

int main(int argc, char* argv[])
{

	MYSQL *myData;
	MYSQL_RES *res;
	MYSQL_FIELD *field;
	MYSQL_ROW row;

	myData = mysql_init( (MYSQL *)0 );
	if ( myData == NULL ) {
		printf( "%s\n", "初期化に失敗しました" );
		exit( 1 );
	}

	if ( NULL == mysql_real_connect(
		myData,
		"localhost",
		"root",
		"",
		"lightbox",
		MYSQL_PORT,
		NULL,
		0
		) ) {
		printf( "%s\n", "接続に失敗しました" );
		exit( 1 );
	}

	int result;

	result = mysql_query( myData, "select * from 商品マスタ" );
	if ( result != 0 ) {
		printf( "%s\n", "SQL エラー" );
		mysql_close( myData );
		exit( 1 );
	}

	res = mysql_store_result( myData );
	if ( res == NULL ) {
		printf( "%s\n", "データ転送エラー" );
		mysql_close( myData );
		exit( 1 );
	}

	printf( "件数 = %d\n", (int)mysql_num_rows( res ) );

	int nField;
	nField = (int)mysql_field_count( myData );

	int i;

	for ( i = 0 ; i < nField; i ++ ) {
		field = mysql_fetch_field( res );
		printf( "%d : %s\n", i+1, field->name );
	}

	while ( 1 ) {
		row = mysql_fetch_row( res );
		if ( row == NULL ) {
			break;
		}
		printf( "%s" , row[0] );
		for ( i = 1 ; i < nField; i ++ ) {
			printf( ",%s" , row[i] );
		}
		printf( "\n" );
	}
	mysql_free_result( res ) ;

	mysql_close( myData );

	return 0;

}
  



  環境



1) C:\mysql\include
2) C:\mysql\lib\opt
3) libmySQL.dll -> システムディレクトリ










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ