PDA

View Full Version : مشکل در اتصال به پایگاه داده (mysql)



2020s1371
سه شنبه 11 شهریور 1393, 16:39 عصر
سلام
من مای اسکیوال رو روی سیستمم دارم و خروجی دستور شو نشون میده که من دیتابیسی به اسم دی بی دارم




mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)






اما مشکل اینجاست که توی برنامه نمیتونم بهش وصل بشم
یه برنامه ساده نوشتم که نمیدونم چرا وصل نمیشه !






#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QtSql/QSql>
#include<QtSql/QSqlDatabase>
#include <QSqlDatabase>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);








QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");//localhost");
db.setPort(3306);
db.setDatabaseName("db");


db.setUserName("root");
db.setPassword("root123");
if (!db.open())
{
ui->label->setText("not connect");


//do something


}
else
{
ui->label->setText("connected");
//do something else
}


}










اشکال کار کجاست؟؟


این هم جهت اطلاع:


Starting Nmap 6.40 ( http://nmap.org ) at 2014-09-02 15:57 IRDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00023s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
.
.
.
3306/tcp open mysql

حامد مصافی
سه شنبه 11 شهریور 1393, 18:04 عصر
متن خطا لطفاً

2020s1371
سه شنبه 11 شهریور 1393, 23:01 عصر
خطا ک نمیشه گفت ولی این قسمت اجرا میشه:


if (!db.open())
{
ui->label->setText("not connect");




}



یعنی نمیتونه دیتابیس رو باز کنه! چرا؟؟!! جایی اشتباهه؟؟!!

حامد مصافی
چهارشنبه 12 شهریور 1393, 00:28 صبح
if (!db.open()){
abel->setText(db.lastError().text());
}


این قسمت رو به این شکل تغییر بده ببین روی لیبل چه نوشته‌ای ظاهر میشه

2020s1371
چهارشنبه 12 شهریور 1393, 01:25 صبح
نتیجه:
123034

omid_kma
چهارشنبه 12 شهریور 1393, 02:59 صبح
qsqlerror رو include کن

2020s1371
چهارشنبه 12 شهریور 1393, 10:02 صبح
qsqlerror رو include کن
:اشتباه::اشتباه::اشتباه::اشت اه::اشتباه::اشتباه:

اوکی انجام دادم و اجرا شد
و
پیغامش اینه:
Driver not loaded

حامد مصافی
چهارشنبه 12 شهریور 1393, 10:46 صبح
خب برادر گرامی شما این پیغامو همون پست اول باید می‌نوشتی و این‌ همه این تاپیکو کش دادی. شما درایور MySql روی سیستمت نصب نیست.
سیستم‌عاملت چیه؟

omid_kma
چهارشنبه 12 شهریور 1393, 10:51 صبح
پلاگین MYSQL رو باید بیلد کنی بزاری داخل پوشه پلاگین
toturial این صفحه رو ببین مرحله مرحله گفته چکار باید انجام داد ( البته مخصوص ویندوز و mingw هست ) http://www.seppemagiels.com/blog/create-mysql-driver-qt-windows

2020s1371
چهارشنبه 12 شهریور 1393, 12:14 عصر
خب برادر گرامی شما این پیغامو همون پست اول باید می‌نوشتی و این‌ همه این تاپیکو کش دادی. شما درایور MySql روی سیستمت نصب نیست.
سیستم‌عاملت چیه؟
درسته... خب من نتونسته بودم از lasterror استفاده کنم و برای همین اینقدر کش پیدا کرد
من سیستمم اوبونتو ـه

پلاگین MYSQL رو باید بیلد کنی بزاری داخل پوشه پلاگین
toturial این صفحه رو ببین مرحله مرحله گفته چکار باید انجام داد ( البته مخصوص ویندوز و mingw هست ) http://www.seppemagiels.com/blog/create-mysql-driver-qt-windows
ممنون از معرفی این صفحه
ولی من تو ویندوز نیستم و تو اوبونتو هستم ....:ناراحت:

2020s1371
چهارشنبه 12 شهریور 1393, 12:51 عصر
با تشکر ویژه از دوستانی که پاسخ گو بودند
درایور نصب شد
اما یه مشکلی هنوز وجود داره...قدری باهاش درست و پنجه نرم میکنم ... اگه حل نشد دوباره بیان میکنم

کامبیز اسدزاده
چهارشنبه 12 شهریور 1393, 12:52 عصر
درسته... خب من نتونسته بودم از lasterror استفاده کنم و برای همین اینقدر کش پیدا کرد
من سیستمم اوبونتو ـه

ممنون از معرفی این صفحه
ولی من تو ویندوز نیستم و تو اوبونتو هستم ....:ناراحت:


با تشکر ویژه از دوستانی که پاسخ گو بودند
درایور نصب شد
اما یه مشکلی هنوز وجود داره...قدری باهاش درست و پنجه نرم میکنم ... اگه حل نشد دوباره بیان میکنم

این قسمت رو خط به خط بخونید و انجامش بدین : http://qt-project.org/doc/qt-5/sql-driver.html

2020s1371
چهارشنبه 12 شهریور 1393, 12:54 عصر
مشکل حل شد

توضیح: برای نصب درایور مای اسکیوال کافیست libqt5sql5-mysql نصب گردد