您的位置:首页 > 数据库

C程序将注册信息保存到数据库

2015-08-01 10:00 387 查看
#include <mysql/mysql.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

using namespace std;

string name;
string password1;

void Output()
{
char temp;
cout<<"Do you have a account?Y/N:";
cin>>temp;
if(temp=='N')
{
cout<<"Now you need to register a account!"<<endl;
cout<<"Please enter your name:";
cin>>name;
cout<<endl;
cout<<"Please enter your password:";
cin>>password1;
cout<<endl;
}
}

int GetCurTime(char *strTime,int type)
{
time_t t;
struct tm *tm = NULL;
t = time(NULL);
if(t == -1)
{
return -1;
}
tm = localtime(&t);
if(tm == NULL)
{
return -1;
}
if(type == 0)
sprintf(strTime,"系统运行时间为: %d-%d-%d %d:%d:%d\n",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
else if(type == 1)
sprintf(strTime,"%d-%d-%d %d:%d:%d",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
else if(type == 2)
sprintf(strTime,"%d-%d-%d",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday);

return 1;
}

int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char server[] = "localhost";
char user[] = "root";
char password[] = "123";
char database[] = "chat";
char time1[12];   //只要跟数据库有关的,定义都要以这种形式,不能char *time1不然会报错“段错误”

int num_row;       //记录数
GetCurTime(time1,2);
Output();
conn = mysql_init(NULL);
cout<<"连接数据库......"<<endl;
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
else
cout<<"连接成功!"<<endl;
if(!(mysql_query(conn,"select * from user_infor")))
{
cout<<"查询成功!"<<endl;
res=mysql_store_result(conn);
num_row=(int)mysql_num_rows(res);
}
else
cout<<"failed!"<<endl;
char query[200];
sprintf(query,"insert into user_infor value(%d,'%s','%s','%s')",num_row,name.c_str(),password1.c_str(),time1);
if (mysql_query(conn, query))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
else
cout<<"插入成功!"<<endl;
mysql_close(conn);

printf("finish! \n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: