C/C++连接数据库MySQL(自己写的一个通讯录软件,供大家学习交流)

#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <cstring>
#include <iomanip>
#include "mysql.h"

using namespace std;

static MYSQL my_connection;//数据库连接
static MYSQL_RES *res_ptr;
static MYSQL_ROW data;


char item[][13]={"name:","sex:","mobile:","telephone:",
                "QQ:","Email:","fax:","personWeb:",
                "MSN:","address:","company:","department:",
                "position:","officePhone:","officeFax:",
                "companyAdd:","companyWeb:"};
class Notebook
{
    public:
            bool init(char code[]);//初始化操作
            void notebookAdd(Notebook *mybook);//添加

            void notebookSearch(Notebook *mybook);//查询
            void notebookScan();//浏览
            void notebookQuickSearch();//快速查询
            void notebookSearchName();//名字查询
            void notebookSearchMobile();//手机查询
            void notebookUserSearch();//自定义查询

            void notebookAlter(Notebook *mybook);//修改
            void notebookAlterName();//修改名字
            void notebookAlterMobile();//修改手机
            void notebookAlterQQ();//修改qq
            void notebookAlterEmail();//修改邮箱
            void notebookUserAlter();//自定义修改

            void notebookDelete();//删除
            void notebookQuit(Notebook *mybook);//退出
            void notebookSave();//导出
    private:
            char name[20];
            char sex;
            char mobile[12];
            char telephone[16];
            char fax[16];
            char QQ[11];
            char Email[30];
            char personWeb[30];
            char MSN[11];
            char address[100];
            char company[30];
            char department[30];
            char position[30];
            char officePhone[16];
            char officeFax[16];
            char companyAdd[100];
            char companyWeb[30];
};
void menu_1(void)
{
    cout<<endl;
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<setw(10)<<"1-添加  "<<"|★|"<<setw(10)<<"2-查询  ";
    cout<<"|★|"<<setw(10)<<"3-修改  "<<"|★|"<<setw(10)<<"4-删除  ";
    cout<<"|★|"<<setw(10)<<"5-备份  "<<"|★|"<<setw(10)<<"0-退出";
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<endl;
}
void menu_2(void)
{
    cout<<endl;
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<setw(10)<<"1-浏览 "<<"★"<<setw(10)<<" 2-快速查询 ";
    cout<<"★"<<setw(10)<<"  3-名字查找 "<<"★"<<setw(10)<<"  4-手机查找 ";
    cout<<"★"<<setw(10)<<"  5-自定义 "<<"★"<<setw(10)<<" 0-返回  ";
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<endl;
}
void menu_3(void)
{
    cout<<endl;
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<setw(10)<<"1-修改名字 "<<"★"<<setw(10)<<"  2-修改手机 ";
    cout<<"★"<<setw(10)<<"  3-修改QQ "<<"★"<<setw(10)<<"  4-修改邮箱 ";
    cout<<"★"<<setw(10)<<"  5-自定义  "<<"★"<<setw(10)<<"0-返回 ";
    for(int i=0;i<40;i++)
        cout<<"--";
    cout<<endl;
}
bool Notebook::init(char code[])//初始化操作
{
    mysql_init(&my_connection);
    if (mysql_real_connect(&my_connection, "localhost", "root", code,"notebook",0,NULL,CLIENT_FOUND_ROWS))
      //连接模式:mysql_real_connect(&mysql,address,user,passwd,dbname,0,NULL,0) == NULL)
    {
        cout<<"Connection success/n";
        return true;
    }
    else
    return false;
}
void Notebook::notebookAdd(Notebook *mybook)//添加
{
    int res;//Zero if the statement was successful. Nonzero if an error occurred.
    char sqlcmd3[300];
    cout<<"个人信息添加:/n";
    cout<<"name->";cin>>mybook->name;
    cout<<"sex(W/M)->";cin>>mybook->sex;
    cout<<"mobile->";cin>>mybook->mobile;
    cout<<"telephone->";cin>>mybook->telephone;
    cout<<"QQ->";cin>>mybook->QQ;
    cout<<"Email->";cin>>mybook->Email;
    cout<<"fax->";cin>>mybook->fax;
    cout<<"personWeb->";cin>>mybook->personWeb;
    cout<<"MSN->";cin>>mybook->MSN;
    cout<<"address->";cin>>mybook->address;
    sprintf(sqlcmd3,"insert into person values('%s','%c',

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
void CMainDlg::OnAdd() { // TODO: Add your control notification handler code here //本对话框对应的数据库连接关闭 m_database.Close(); //新建一个CAddInfoDlg的对象 CAddInfoDlg dlg; //新对话框建立到数据库连接 dlg.m_database.Open(_T("addresslist")); //弹出新对话框 dlg.DoModal(); //新对话框关闭后,在原对话框中刷新数据显示 RefreshData(); } void CMainDlg::OnEdit() { // TODO: Add your control notification handler code here m_database.Close();//本对话框断开与数据库的连接 CModifyDlg dlg; dlg.m_database.Open(_T("addresslist"));//打开数据库 int i=m_ctrlperson.GetSelectionMark(); CString strSQL; int id=atoi(m_ctrlperson.GetItemText(i,0)); CPersonSet m_recordset; CDBVariant varValue; if(i==-1) { MessageBox("请选择一条要修改的记录!","提示",MB_OK|MB_ICONINFORMATION); } else { int temp=0; strSQL.Format("select * from person where ID=%d",id); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); m_recordset.GetFieldValue(temp,varValue); dlg.m_modid=varValue.m_lVal; m_recordset.GetFieldValue(1,varValue); dlg.m_modname=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(2,varValue); dlg.m_modsex=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(3,varValue); dlg.m_modrelation=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(4,varValue); dlg.m_modtelephone=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(5,varValue); dlg.m_modhandphone=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(6,varValue); dlg.m_modaddress=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(7,varValue); dlg.m_modworkplace=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(8,varValue); dlg.m_modemail=varValue.m_pstring->GetBuffer(1); m_recordset.GetFieldValue(9,varValue); dlg.m_modoicq=varValue.m_pstring->GetBuffer(1); //m_database.Close();//此处不能断开与数据库的连接 dlg.DoModal(); RefreshData(); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值