الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ربط ++c مع mysql

مغلق
بدأه b.m.s في 15 يوليو 2005 · 8 رد · 2,906 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

نزلت mysql 4 على جهازي ووضعتها في مجلد في مجلد include في برنامج Microsoft Visual c++ 6.0

وقمت بكتابة البرنامج التالي

#include <iostream>
#include <string>
#include<windows.h>
#include <mysql/mysql.h>

 using namespace std;
  
  void execute_command(MYSQL* connection, string command)
  {
     if (mysql_query(connection, command.c_str()) != 0)
    {
       cout << "Error: " << mysql_error(connection) << "\n";
       return;
    }
  
    MYSQL_RES* result = mysql_store_result(connection);
    if (result == NULL) return;

   int rows = mysql_num_rows(result);
    int fields = mysql_num_fields(result);
    for (int r = 1; r <= rows; r++)
    {
       MYSQL_ROW row = mysql_fetch_row(result);
       for (int f = 0; f < fields; f++)
       {
          string field(row[f]);
          if (f > 0) cout << ",";
           cout << field;
       }
       cout << "\n";
   }

   mysql_free_result(result);
 }

 int main()
 {
    MYSQL* connection = mysql_init(NULL);

   if(mysql_real_connect(connection, NULL, NULL, NULL,
         "bigcpp", 0, NULL, 0) == NULL)
     {
      cout << "Error: " << mysql_error(connection) << "\n";
      return 1;
    }

  string line;
  bool more = true;
    while (getline(cin, line))
   {
        execute_command(connection, line);
    }

    mysql_close(connection);
     return 0;
  }

وطلع لي هذا الخطأ في ربط البرنامج (link) وهذا هو الخطأ

--------------------Configuration: mysql - Win32 Debug--------------------
Linking...
test.obj : error LNK2001: unresolved external symbol _mysql_free_result@4
test.obj : error LNK2001: unresolved external symbol _mysql_fetch_row@4
test.obj : error LNK2001: unresolved external symbol _mysql_num_fields@4
test.obj : error LNK2001: unresolved external symbol _mysql_num_rows@4
test.obj : error LNK2001: unresolved external symbol _mysql_store_result@4
test.obj : error LNK2001: unresolved external symbol _mysql_error@4
test.obj : error LNK2001: unresolved external symbol _mysql_query@8
test.obj : error LNK2001: unresolved external symbol _mysql_close@4
test.obj : error LNK2001: unresolved external symbol _mysql_real_connect@32
test.obj : error LNK2001: unresolved external symbol _mysql_init@4
Debug/mysql.exe : fatal error LNK1120: 10 unresolved externals
Error executing link.exe.
Creating browse info file...

mysql.exe - 11 error(s), 0 warning(s)

ما أدري وين ألقى ملفات obj. وأين أضعها في ملفات و مجلدات Microsoft Visual c++ عشان يضمها ال LINKER

#2

خطأ الربط الذي يظهر ... يخبرك بأن كل المكاتب التي تريد إستخدامها لا يوجد

لها مصدر للربط

ذكرت

اقتباس
زلت mysql 4 على جهازي ووضعتها في مجلد في مجلد include

بقي أن تضع ملفات ذات الإمتداد lib في مجلد lib في الفيجول سي

وهذا كود للتجربة

#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
#include <string>

#include "Database.h"
#include "Query.h"

int main()
{
	Database db("localhost","dbuser","","testdb");
	Query q(db);

	q.execute("delete from user");
	q.execute("insert into user values(1,'First Person')");
	q.execute("insert into user values(2,'Another Person')");

	q.get_result("select num,name from user");
	while (q.fetch_row())
	{
  long num = q.getval();
  std::string name = q.getstr();

  printf("User#%ld: %s\n", num, name.c_str() );
	}
	q.free_result();
}

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#3

اخوي jaas

مشكور على سرعة ردك بس نسيت اقول انه ايضا ملفات lib وضعتها ايضا في مجلد lib

ولكن ما اشتغل معي ممكن ناقص شئ ثاني

#5

سبق وحاولت في ذلك وجربت عدد من المكتبات , لكن لم يفلح الربط أيضا وتوجد مكتبة مفقودة ,

جرب :

#pragma comment(lib,"mysqlclient.lib");

وضع ملف dll , الذي هو libmySQL.dll أيضا ,

عموما إربط أي مكتبة تجدها أمامك , وفي المرفق يوجد البعض منها أظنها موجودة عندك لكن للضمان :

opt.zip

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#7

اخوي HGB

مبروووووووووووووووووووووووووووووووك تم الربط لكن من خلال المشروع نفسه

رغم اني كتبتها مثل ما قلت لكن ما نفع الربط وقمت بالآتي

1) رحت الى project > settings > link ووضعت جميع ملفات lib. وكمان وضعتها في مجلد lib للكمبايلر نفسه مثل ما قال الاخ jaas

2) وضعت ملف libmysql.dll في نفس مجلد المشروع وتم الربط واشتغل البرنامج

وما وضعتها الا للفايدة وجزاكم الله خير

#9

أعتقد لازم تعمل make

للكود و بعدين شوف انت

خطاء برمجى+مبرمج php+معرفة كاملة بى my sql+كتابة استمار صحيح===؟؟؟؟؟؟؟؟ اكتشاف ثغرة جديدة ؟؟؟؟؟؟؟

هذا الموضوع مغلق.

مواضيع مشابهة