win xp에 MySql 5.0을 인스톨을 하고
다른 PC에서 아래소스를 DevCpp을 이용하여 컴파일을 했습니다.
분명히 "c4"란 DataBase가 있는데 "] Error: Unable to
select database..."라고 출력을 합니다. server에 Setting
따로 Setting을 해야하는지요?
/*
Name: MySQLClientTest
Author: Kip Warner (kip@zero47.com)
Date: 24/11/03 13:15
Description: Example to show usage of MySQL databases from
client end.
I did not have much time. Sorry...
*/
// Includes...
#include <windows.h>
#include <MySQL\mysql.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
// Database name...
char g_szHost[] = "192.168.3.203";
UINT g_unPort = MYSQL_PORT;
char g_szUserName[] = "admin";
char g_szPassword[] = "admin";
char g_szDatabase[] = "c4";
char g_szSQLStatement[] = "SELECT * tie_in";
// Entry point...
//int main(int nArguments, char *pszArguments[])
int main()
{
// Variables...
MYSQL *myDatabase = NULL;
MYSQL_RES *myResult = NULL;
MYSQL_FIELD *myField = NULL;
MYSQL_ROW myRow = NULL;
UINT unRecords = 0;
UINT unFields = 0;
UINT unIndex = 0;
UINT unFieldIndex = 0;
// Initialize MySQL...
myDatabase = mysql_init(NULL);
// Failed...
if(!myDatabase)
{
// Alert user...
printf("] Error: Unable to initialize MySQL
API...\n");
// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}else
{
printf("initialize MySQL API...\n");
}
// Connect to server and check for error...
if(mysql_real_connect(myDatabase, g_szHost, g_szUserName,
g_szPassword,
NULL, g_unPort, NULL, 0) != 0)
{
// Alert user...
printf("] Error: Unable to connect to server...\n");
// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
} else
{
printf("connect to server...\n");
}
// Select database in server and check for
error...
if(mysql_select_db(myDatabase,
g_szDatabase) < 0) {
// Alert user...
printf("] Error: Unable to select database...\n");
// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}else
{
printf("connect to Database...\n");
}
// Query database and check for error...
if(mysql_query(myDatabase, g_szSQLStatement) != 0)
{
// Alert user...
printf("] Error: Unable to execute query...\n");
// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}else
{
printf("execute query....\n");
}
// Retrieve query result from server...
myResult = mysql_store_result(myDatabase);
// Failed...
if(!myResult)
{
// Alert user...
printf("] Error: Unable to retrieve result...\n");
// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}
// How many records were returned in the result set?
// Calculate...
unRecords = mysql_num_rows(myResult);
// Alert user...
printf("] Query: %d records found...\n", unRecords);
// How many fields are present in a record?
// Calculate...
unFields = mysql_num_fields(myResult);
// Alert user...
printf("] Query: There are %d fields in each record...",
unFields);
// Output records...
for(unIndex = 0; unIndex < unRecords; unIndex++)
{
// Fetch row from results...
myRow = mysql_fetch_row(myResult);
// Fetch fields from row...
myField = mysql_fetch_fields(myResult);
// Show record...
printf("] Record: %d / %d\n", unIndex, unRecords);
// Output all fields in this row...
for(unFieldIndex = 0; unFieldIndex < unFields;
unFieldIndex++)
{
// Output...
printf("\t%s", myField[unFieldIndex].name);
}
}
// Free result...
mysql_free_result(myResult);
// Close server connection...
mysql_close(myDatabase);
myDatabase = NULL;
// Alert user, exit...
printf("] Done, press any key to exit...\n");
getch();
return 0;
}
|