#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
QString def_name = "new";
QString path = QFileDialog::getSaveFileName(this,QStringLiteral("创建Access数据库文件"),def_name
,tr("Access(*.mdb)"));
if(path.isEmpty())
return;
HRESULT hr = create_access.CreateInstance(__uuidof(ADOX::Catalog));
if(SUCCEEDED(hr))
{
try
{
std::string str = "Provider=Microsoft.JET.OLEDB.4.0;Data source= ";
std::string path_str;
path_str =std::string((const char *)path.toLocal8Bit().constData());
std::string obj_str = str+path_str;
const char *p_obj_Str = obj_str.c_str();
create_access->Create(p_obj_Str);
create_access.Release();
qDebug()<<QStringLiteral("创建成功");
}
catch (_com_error &e)
{
std::string error_str =(char*)e.Description();
qDebug()<<QStringLiteral("捕捉到错误:")<<QString::fromLocal8Bit(error_str.data());
}
}
else
{
qDebug()<<QStringLiteral("初始化失败");
}
}