#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <mysql.h>
static MYSQL *Mysql = NULL;
static MYSQL_STMT *Stmt = NULL;
static char Host[80 + 1];
static int Port;
static char Db[80 + 1];
static char User[80 + 1];
static char Pass[80 + 1];
static const char *SqlStr =
"SELECT `K`, `C00`, `C01`, `C02`, `C03`, `C04`, `C05`, `C06`, `C07`, `C08`, `C09`, `C10`, `C11`,"
"`C12`, `C13`, `C14`, `C15`, `C16`, `C17`, `C18`, `C19`, `C20`, `C21`, `C22`, `C23`, `C24`, `C25`,"
"`C26`, `C27`, `C28`, `C29`, `C30`, `C31`, `C32`, `C33`, `C34`, `C35`, `C36`, `C37`, `C38`, `C39`,"
"`C40`, `C41`, `C42`, `C43` FROM SCTYAO";
static void PrintUsage()
{
fprintf(stderr, "Usage : tst2053 db_server_ip db_server_port database user_id password\n");
}
int main(int argc, const char *argv[])
{
if ( argc != 6 )
{
PrintUsage();
return 8;
}
int r;
r = mysql_library_init(0, NULL, NULL);
if ( r != 0 )
{
fprintf(stderr, "mysql_library_init fail, r = %d\n", r);
return 8;
}
Mysql = mysql_init(NULL);
if ( Mysql == NULL )
{
fprintf(stderr, "mysql_init fail\n");
return 8;
}
r = mysql_options(Mysql, MYSQL_SET_CHARSET_NAME, "utf8mb4");
if ( r != 0 )
{
fprintf(stderr, "mysql_option fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql));
return 8;
}
strcpy(Host, argv[1]);
Port = atoi(argv[2]);
strcpy(Db, argv[3]);
strcpy(User, argv[4]);
strcpy(Pass, argv[5]);
if ( mysql_real_connect(Mysql, Host, User, Pass, Db, Port, NULL, 0) == NULL )
{
fprintf(stderr, "mysql_real_connect fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql));
return 8;
}
Stmt = mysql_stmt_init(Mysql);
if ( Stmt == NULL )
{
fprintf(stderr, "mysql_stmt_init fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql));
return 8;
}
if ( mysql_stmt_prepare(Stmt, SqlStr, strlen(SqlStr)) != 0 )
{
fprintf(stderr, "mysql_stmt_prepare fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql));
return 8;
}
{
unsigned long Attr;
Attr = CURSOR_TYPE_READ_ONLY;
if ( mysql_stmt_attr_set(Stmt, STMT_ATTR_CURSOR_TYPE, &Attr) != 0 )
{
fprintf(stderr, "mysql_stmt_attr_set(STMT_ATTR_CURSOR_TYPE) fail, sqlcode = %d, error = %s\n", mysql_stmt_errno(Stmt), mysql_stmt_error(Stmt));
return 8;
}
}
if ( mysql_stmt_execute(Stmt) != 0 )
{
/* fprintf(stderr, "mysql_stmt_execute fail, sqlcode = %d, error = %s\n", mysql_stmt_errno(Stmt), mysql_stmt_error(Stmt)); */
fprintf(stderr, "mysql_stmt_execute fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql));
return 8;
}
return 0;
}