CPP (aka C ++) + MySQL

MySQL

สวัสดีทุกคนที่นี่ฉันนำตัวอย่างการเชื่อมต่อระหว่าง C ++ และ MySQL ใน GNU / Linux ซึ่งเป็นเพียงตัวอย่างพื้นฐานเท่านั้น ก่อนอื่นในการรวบรวมฉันจะใช้ G ++ และต้องมีการติดตั้งแพ็คเกจ libmysql ++ y libmysql ++ - dev . นี่คือตัวอย่าง:

# รวม # รวม # รวม ใช้เนมสเปซ std; #define SERVER "HOST" # กำหนด USER "USR" # กำหนดรหัสผ่าน "PSWD" #define DATABASE "ตัวอย่าง" int main () {MYSQL * connect; เชื่อมต่อ = mysql_init (NULL); ถ้า (! connect) {cout << "MySQL Initialization failed"; กลับ 1; } connect = mysql_real_connect (เชื่อมต่อ, "HOST", "USER", "PASWD", "DATA BASE", 0, NULL, 0); ถ้า (เชื่อมต่อ) {cout << "การเชื่อมต่อสำเร็จ \ n"; } else {cout << "การเชื่อมต่อล้มเหลว \ n"; } MYSQL_RES * res_set; MYSQL_ROW แถว; mysql_query (เชื่อมต่อ, "เลือก * จากข้อมูล;"); int ที่ไม่ได้ลงนาม i = 0; res_set = mysql_store_result (เชื่อมต่อ); ตัวเลข int ที่ไม่ได้ลงชื่อ = mysql_num_rows (res_set); cout << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; ในขณะที่ (((row = mysql_fetch_row (res_set))! = NULL)) {// cout << "% s \ n", row [i]! = NULL? row [i]: "NULL"; cout << "\ t | \ t" << row [i] << "\ t | \ t" << row [i + 1] << "\ t | \ t" << row [i + 2] << "\ t | \ t" << endl; cout << "\ t -------------------------------------------- ------------------------- \ t "<< endl; } mysql_close (เชื่อมต่อ); กลับ 0; }

ถ้าคุณไม่ทราบวิธีรวบรวมใน G ++ นี่คือตัวอย่าง:

g ++ -o หลัก main.cpp -L / usr / include / mysql -lmysqlclient -I / usr / include / mysql

จากนั้นคุณเรียกใช้และจะมีลักษณะดังนี้:

------------------------------------- | 1 | คาร์เมน | 46 | ------------------------------------- | 2 | ฮวน | 56 | --------------------------------------

หมายเหตุ: คุณยังสามารถรวบรวมโดยใช้ MAKEFILE METHOD


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   pandev92 dijo

    C ++ ... ภาษานั้นแพ้ฉันเมื่อนานมาแล้ว ...

    1.    Eliotime3000 dijo

      ฉันหิวมากขึ้นกับภาษาโปรแกรมนั้น (ความชัดเจนและความเป็นไปได้ที่เสนอนั้นไม่สามารถถูกแทนที่ได้)

      1.    pandev92 dijo

        ฉันไม่ได้บอกว่าไม่เพียงเพราะว่ามันยากมากสำหรับฉัน python หรือ mono มันดูใช้งานง่าย

        1.    กิสการ์ด dijo

          ติดกับ Python ทำให้คุณมีประสิทธิผลมากขึ้นในเวลาอันสั้น

        2.    Eliotime3000 dijo

          Python อาจสามารถแก้ไขข้อบกพร่องที่ทำให้โปรแกรมช้าลงเช่น software-center หรือ Ubiquiti แต่ Java เพียงเพื่อฆ่าเวลา

          ในความเป็นจริงด้วย C ++ ฉันสามารถเข้าใจรหัสได้ดีขึ้น (แม้ว่าส่วนใหญ่จะเห็นรหัสที่ไม่สามารถอ่านได้) และฉันมีความคิดที่ชัดเจนเกี่ยวกับสิ่งที่กำลังจะทำ (แม้ว่า Java จะเข้าใจรหัสได้ง่ายกว่าในครั้งแรก ฉันเห็นว่ามันเป็นพื้นฐานและเพื่อบอกความจริงฉันชอบที่จะทำงานกับ OpenJDK แทน Java JDK เพราะกลัวว่า Oracle จะวางข้อบกพร่องเพิ่มเติมสำหรับเพศสัมพันธ์)

    2.    เนลสัน dijo

      ฉันด้วย

  2.   เฟอร์ชเมทัล dijo

    ขอบคุณเพื่อน.

  3.   Eduardo dijo

    ตัวอย่างพื้นฐาน? จากนั้นจะเป็นแบบคลาสสิก:
    ชั้น: 2 + 2 = 4
    งาน: 2 × 3 = 6
    ข้อสอบ: ถ้าเอดูอาร์โดมีส้ม 20 ลูกและต้องแบ่งให้ลูก 4 ลูกมวลกายของเด็ก ๆ จะเป็นเท่าไหร่?

    1.    Eliotime3000 dijo

      1.- แก้ปัญหา (สิ่งที่สำคัญที่สุดและสิ่งที่ต้องใช้เวลานานกว่าสำหรับมือใหม่)
      2.- แปลโซลูชันเป็น C ++ (ถ้าเป็นภาษานั้นคนใหม่จะยอมแพ้ในกรณีส่วนใหญ่และอื่น ๆ หากพวกเขาใช้ GNU Emacs)
      3.- ดีบักเพื่อความไม่ประมาทและรวบรวม (จริงๆแล้วมันเป็นวิธีอื่น แต่มีเพียงไม่กี่คนที่ทำกระบวนการนั้น)

      PS: การทดสอบนั้นต่อต้านความใจร้อน / อวดดี

  4.   Eduardo dijo

    ขออภัยในกรณีสำหรับความคิดเห็นเป็นสามเท่า แต่หน้าดังกล่าวทำให้ฉันเกิดข้อผิดพลาดภายในเซิร์ฟเวอร์และอาจเป็นเพราะเหตุนี้เมื่อลองอีกครั้งจึงมีการโพสต์อีกครั้ง
    ทักทายและขอบคุณสำหรับโพสต์ !!

    1.    Eliotime3000 dijo

      ไม่มีปัญหา. อย่างไรก็ตามฉันกำลังแสดงความคิดเห็นเกี่ยวกับ Chromium ทุกคืนสำหรับ Windows และฉันไม่มีปัญหาใด ๆ ในลักษณะนั้นเมื่อแสดงความคิดเห็น (แม้ว่าฉันแนะนำให้คุณลงทะเบียนเพื่อให้ระบบแสดงความคิดเห็นจะทำให้คุณมีข้อผิดพลาดมากกว่า Windows Millenium)

      1.    Eliotime3000 dijo

        ฉันอยากจะบอกว่า: "แม้ว่าฉันจะแนะนำให้คุณลงทะเบียนเพื่อให้ระบบแสดงความคิดเห็นแสดงข้อผิดพลาดน้อยกว่า Windows Millenium" [errare humanum est]

        1.    pandev92 dijo

          carpe dium ฮ่า ๆ

  5.   Eliotime3000 dijo

    รหัสนั้นเป็น C ++ ที่สวยที่สุดที่ฉันเคยเห็น (โปรแกรมดูฐานข้อมูลแบบ KISS)

    ตอนนี้ถ้าสามารถคอมไพล์โค้ดนี้บน Windows โดยใช้ GNU Emacs ร่วมกับ GCC บน Windows (รวม MySQL / MariaDB ด้วย) มันจะเป็นก้าวสำคัญ

  6.   Ratakill dijo

    ไม่ต้องสงสัยเลยว่า c ++ เป็นสิ่งที่ดีที่สุดที่เรามีฉันได้ทำการทดสอบไม่ จำกัด จำนวนเกี่ยวกับประสิทธิภาพและความเป็นไปได้ที่เสนอให้เราและไม่ต้องสงสัยเลยว่าไม่มีอะไรเหนือกว่าแน่นอนว่าฉันรู้ว่ามันอาจเป็นเรื่องน่าปวดหัวสำหรับบางคน

    1.    Eliotime3000 dijo

      ฉันชื่นชมภาษานั้น แต่ฉันขาดการฝึกฝน (และเพียงพอ) ที่จะสามารถเชี่ยวชาญมันได้อย่างสมบูรณ์ดังนั้นจึงสามารถรวบรวมแอปพลิเคชั่นภาพที่ดีกับ Qt

  7.   แจมินซามูเอล dijo

    ไม่นะ

    ฉันชอบ Python

    ????

    1.    Ratakill dijo

      คนบ้าทุกคนด้วยการทักทายตามธีมของเขา

    2.    กิสการ์ด dijo

      ทางเลือกที่ดีเยี่ยม

    3.    Eliotime3000 dijo

      [ความเห็นแก่ตัว] ขี้เกียจ [/ ความเห็นแก่ตัว].

  8.   จูเลียน dijo

    ฉันชอบ VB.NET มันง่ายกว่ามากและมีการสนับสนุนที่ดีสำหรับ SQL Server นอกจากจะมีประสิทธิผลมากกว่าภาษาอื่น ๆ แล้วยังเป็นที่ต้องการมากที่สุดเมื่อต้องการหางาน ฉันไม่อยากเสียเวลากับ C ++

    1.    pandev92 dijo

      ถ้าเราวางไว้แบบนี้สิ่งที่ร้องขอมากที่สุดมักจะเป็นอึของ Java

      1.    Eliotime3000 dijo

        มันเหมือนกับ VB.NET แต่มีกราฟิกมากกว่าและไม่มีประโยชน์ที่จะทำงานบน GNU / Linux

  9.   Ratakill dijo

    ฉันแนะนำเฉพาะ C ++ bc probe สร้างการขายอย่างง่ายใน c ++, python และ qt และรั้วแปลกใจ:
    Python-> 7.6 mb
    Qt -> 27 mb (XD)
    C ++ -> 2.4 mb

    ทุกคนที่ทักทายข้อสรุปของตัวเอง

    1.    กิสการ์ด dijo

      Python 7.6MB ??? ไม่มีทาง! เป็นไปไม่ได้ หากพวกเขาไม่มีอะไรมากไปกว่าสคริปต์ หรือคุณมีภาพ? แบ่งปันรหัส นี่คือวิธีที่เราทุกคนเห็นและเปรียบเทียบ โน้มน้าวใจเรา

      1.    Ratakill dijo

        คุณพูดถูกแล้วงูหลามตัวเล็กไม่กิน 7.6 mb แต่ถ้า 6.2 mb งั้นบอกมาเลย ...
        นี่คือรหัสและฉันคิดว่าไม่สามารถปรับให้เหมาะสมได้มากกว่านี้:
        #! / usr / bin / python
        จาก gi.repository import Gtk

        ชนะ = Gtk.Window ()
        win.connect ("ลบเหตุการณ์", Gtk.main_quit)
        win.show_all ()
        Gtk.main ()

        1.    กิสการ์ด dijo

          ฉันคิดว่าคุณหมายถึงการใช้ RAM สิ่งนี้คือใน Python และเกือบทุกภาษาคุณจะปรับขนาดเส้นโค้งแบบไม่แสดงอาการเมื่อคุณทำให้โค้ดซับซ้อนขึ้น สำหรับการทดสอบฉันเล่นเกมที่ฉันกำลังพัฒนาด้วย PyGame ภาพเคลื่อนไหว + เสียงพื้นหลัง + เสียงสำหรับกิจกรรมและแทบจะไม่ถึง 14MB เห็นได้ชัดว่าโปรแกรมของคุณจะไม่เรียบง่ายเหมือนหน้าต่าง แต่ซับซ้อนกว่าคุณจะเห็นในท้ายที่สุดว่าเมื่อคุณมีรหัสเพียงพอการปรับเปลี่ยนขนาดใหญ่ในนั้นจะไม่ทำให้คุณใช้ RAM เพิ่มขึ้นมากขึ้น

        2.    กิสการ์ด dijo

          เพื่อลดความซับซ้อนของสิ่งที่ฉันกำลังอธิบายเล็กน้อย: คุณไม่สามารถสร้างโปรไฟล์เวลาได้หากคุณไม่ได้เรียกใช้ส่วนของรหัสสองสามพันครั้งใช่ไหม? ในทำนองเดียวกันคุณไม่สามารถบอกได้ว่าภาษาใช้เวลามากหรือน้อยเพียงแค่ดูตัวอย่างที่ง่ายที่สุดเท่าที่จะเป็นไปได้ ในความเป็นจริงเคล็ดลับคือการดูที่ซับซ้อนที่สุดที่คุณสามารถทำได้

          1.    Ratakill dijo

            ในความเข้าใจของฉันในระดับการเขียนโปรแกรมนี้ 01010111 แอสเซมเบลอร์และ c เป็นไปไม่ได้เลยที่ภาษาระดับสูงอย่างไพ ธ อนจะมีประสิทธิภาพเหนือกว่า ac / c ++ (ทุกประการ) และจะมีอะไรดีไปกว่าภาษาที่เรียบง่ายมาก ตัวอย่างเช่นการสร้างหน้าต่างเพื่อดูความแตกต่าง 3.8 mb ในการแสดงเฉพาะหน้าต่างธรรมดาเมื่อคุณเพิ่มภาระลงในโปรแกรมของคุณ (โปรแกรมขนาดใหญ่ที่มีน้ำหนักดีมีมากกว่า 5 รูปแบบและใช้คลาสการสืบทอด polymorphism ฟังก์ชันเสมือนพอยน์เตอร์และอื่น ๆ เพื่อเป็นตัวอย่าง) ฉันรับรองว่าคุณจะเปลี่ยนความคิดเห็นของคุณฉันต้องการให้ชัดเจนว่าฉันไม่วิจารณ์ภาษาโปรแกรมอื่นและ Python น้อยลงไปที่ Cantrario ฉันแค่แสดงความคิดเห็น และทดสอบด้วยการทดสอบข้อดีและข้อเสียที่ฉันเห็นด้วยตาเปล่าโดยไม่ได้รับการสนับสนุนให้ทักทายอย่างลึกซึ้งยิ่งขึ้น

          2.    กิสการ์ด dijo

            ลองดู:

            http://www.youtube.com/watch?v=cPVlYWxcu18

            แต่ดูวิดีโอแบบเต็ม อย่าโกงมิฉะนั้นคุณจะแสดงความคิดเห็นโดยอาศัยอคติ

          3.    กิสการ์ด dijo

            ไม่ว่าในกรณีใดคุณไม่เข้าใจฉัน ในขณะที่คุณซับซ้อนเรื่องนี้ทั้งสองจะมีน้ำหนักเท่ากันมากหรือน้อย ในหน้าลาซารัสพวกเขาให้กราฟเกี่ยวกับเรื่องนั้นโดยเปรียบเทียบลาซารัสกับซี
            ในที่สุดทุกอย่างก็เป็นเพื่อนกัน เพราะมนุษย์ไม่ได้อาศัยอยู่บน RAM เพียงอย่างเดียว

    2.    Eliotime3000 dijo

      อย่างน้อย QT ก็เข้ากันได้กับอินเทอร์เฟซ Aqua, Win32 (และรุ่น Aero และ Metro) และอินเทอร์เฟซอื่น ๆ ยกเว้น LXDE (ดูเหมือนว่า Windows 95 จะซื่อสัตย์)

      1.    pandev92 dijo

        gtk2 ใน aqua ดูดี ...