mysql

安装
    mysql:服务本体。出现“TCP/IP”相关设置时勾选“Add firewall...”,出现“Modify Security Settings”时设置密码为 123456
    workbench:图形化管理
    odbc:让支持 odbc 的软件通过 odbc 连接 mysql。需要设置“odbc 数据源”里的“用户 DSN”
    navicat:图形化数据库编辑器

卸载
    首先使用 mysql 的安装程序来卸载,然后删除“C:\Program Files”和“C:\Documents and Settings\All Users\Application Data(隐藏文件夹)”下的 MySQL 文件夹

与 qt 交互
    数据源
        使用 mysql 提供的命令行,输入刚设置密码进入,然后执行“CREATE DATABASE IF NOT EXISTS toy_scan;”来创建名为 toy_scan 的数据库
        
        进入“控制面板/管理工具/数据源 (ODBC)”
        点击“添加”,选择“MySQL ODBC xxx ANSI Driver”,点击“完成”
        在弹框里
            Data Source Name: 数据源名称,如 mysql_scan
            User: root
            Password: 设置的密码
            Database: 选择数据库 toy_scan,之后连接 mysql_scan 操作的数据库就是这个
            其余默认

            点击“Test”,如果显示“successful”字样就成功了

    qt 代码
        .pro
            QT += sql

        xxx.h
            操作 sql 使用的是 sql 语句

            #include 
            #include 
            
            QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
            db.setHostName("localhost");
            db.setPort(3306);
            db.setDatabaseName("mysql_scan");
            db.setUserName("root");
            db.setPassword("123456");

            if (db.open())
            {
                QMessageBox::information(this, "infor", "open success");
            }
            else
            {
                QMessageBox::information(this, "infor", "open failed");
            }

            // 添加表
            QSqlQuery qry(db);
            QString createTableUser="create table if not exists scan(id int(11) PRIMARY KEY AUTO_INCREMENT, time varchar(255), code varchar(255), count varchar(255))";
            bool state = qry.exec(createTableUser);

            if (state)
            {
                QMessageBox::information(this, "infor", "add success");
            }
            else
            {
                QMessageBox::information(this, "infor", "add failed");
            }

            // 增
            qry.prepare("insert into scan (id, time, code, count) "
                        "values (?, ?, ?, ?)");
            // id 是自增,所以不操作
            qry.bindValue(1, "11:22:33:444");
            qry.bindValue(2, "11223344");
            qry.bindValue(3, "595");
            state = qry.exec();

            if (state)
            {
                QMessageBox::information(this, "infor", "write success");
            }
            else
            {
                QMessageBox::information(this, "infor", "write failed");
            }

你可能感兴趣的:(mysql,mysql,adb,数据库)