Home  >  Article  >  Database  >  How to Connect to a MySQL Database Using C ?

How to Connect to a MySQL Database Using C ?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 21:55:30672browse

How to Connect to a MySQL Database Using C  ?

Connecting to Your MySQL Database Using C

To establish a connection to your MySQL database and perform queries, C offers a comprehensive solution. Let's explore how you can achieve this task efficiently.

Required Libraries

Begin by incorporating the necessary libraries into your C project:

  • mysql_connection.h: Provides the fundamental connection interface
  • cppconn/driver.h: Facilitates interaction with the MySQL driver
  • cppconn/exception.h: Enables handling of exceptions that may arise during database operations
  • cppconn/resultset.h: Allows for retrieving and iterating over results
  • cppconn/statement.h: Enables creating and executing SQL statements

Example Code

The following sample code demonstrates how to establish a connection, execute a query, and retrieve results from a MySQL database:

<code class="c++">#include <stdlib.h>
#include <iostream>

#include "mysql_connection.h"

#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>

using namespace std;

int main() {
  try {
    // Create the necessary objects
    sql::Driver *driver;
    sql::Connection *con;
    sql::Statement *stmt;
    sql::ResultSet *res;

    // Establish a connection
    driver = get_driver_instance();
    con = driver->connect("tcp://127.0.0.1:3306", "root", "root");

    // Set the default schema
    con->setSchema("test");

    // Create a statement object
    stmt = con->createStatement();

    // Execute a query
    res = stmt->executeQuery("SELECT 'Hello World!' AS _message"); // Replace with your statement

    // Iterate over the results
    while (res->next()) {
      cout << "\t... MySQL replies: ";
      // Access column data by alias or column name
      cout << res->getString("_message") << endl;
      cout << "\t... MySQL says it again: ";
      // Access column data by numeric offset (1-based)
      cout << res->getString(1) << endl;
    }

    // Clean up resources
    delete res;
    delete stmt;
    delete con;
  } catch (sql::SQLException &e) {
    // Handle exceptions
    cout << "# ERR: SQLException in " << __FILE__ << " (" << __FUNCTION__ << ") on line " << __LINE__ << endl;
    cout << "# ERR: " << e.what() << " (MySQL error code: " << e.getErrorCode() << ", SQLState: " << e.getSQLState() << " )" << endl;
  }

  return EXIT_SUCCESS;
}</code>

Conclusion

By following the steps and incorporating the provided code example, you can successfully connect to your MySQL database from C , execute queries, and retrieve the desired results. This enables you to develop robust and efficient database-driven applications.

The above is the detailed content of How to Connect to a MySQL Database Using C ?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn