-1
Ich erstelle ein kartenbezogenes Programm in C++, das eine Datenbank verwendet. Nach dem Empfang von Schülernamen und -nummern als Eingabe stoppt es, wenn ich die INSERT-Funktion ausführe.C++ MySQL Fehler einfügen?
▲ DB anlegen Detail (hakbun, name)
#include<iostream>
#include<string>
#include<stdio.h>
#include<mysql.h>
#include<conio.h>
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"ws2_32.lib")
using namespace std;
#define DB_HOST "localhost"
#define DB_USER "root"
#define DB_PASS "1234"
#define DB_NAME "point_db"
void DBconnect() {
MYSQL *connection = NULL, conn;
MYSQL_RES *sql_result;
MYSQL_ROW sql_row;
mysql_init(&conn);
connection = mysql_real_connect(&conn, DB_HOST, DB_USER, DB_PASS, DB_NAME, 3306, (char *)NULL, 0);
if (connection == NULL){
printf("con error");
}
mysql_query(connection, "set session character_set_connection=euckr;");
mysql_query(connection, "set session character_set_results=euckr;");
mysql_query(connection, "set session character_set_client=euckr;");
}
int main()
{
MYSQL *connection = NULL, conn;
MYSQL_RES *sql_result;
MYSQL_ROW sql_row;
DBconnect();
int query_stat;
char query[1024];
char num;
while (1) {
cout << " +--------------------+" << endl;
cout << " | ① create card |" << endl;
cout << " +--------------------+" << endl;
cout << " input number > ";
cin >> num;
switch (num) {
case '1':
int i, hakbun, student;
char name;
cout << "student id : ";
cin >> hakbun;
cout << "mame : ";
cin >> name;
// insert
sprintf_s(query, "insert into point(hakbun, name) values('%d','%s')", hakbun, name);
query_stat = mysql_query(connection, query);
if (query_stat != 0){
printf("error : %s", mysql_error(&conn));
return 1;
}
default:
cout << "end program" << endl;
exit(0);
}
}
}
So wie ich es ändern? Sie müssen ein anderes Zeichen und kein einzelnes Zeichen eingeben. –
@MinjuPark Es sollte ein 'char' Array oder' std :: string' sein. – Barmar
@MinjuPark Ich habe die Antwort geändert – AhmadWabbi