Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает предпосылки, которые должны быть satisifed прежде, чем Вы будете работать через остающиеся учебные разделы, и шоу, как установить код платформы, который служит основанием для учебных приложений.
Эти учебные руководства относятся к таблицам и демонстрационным данным от world
база данных, которую можно загрузить с "раздела" Баз данных В качестве примера страницы
Каждое учебное приложение использует платформу, состоящую из следующего кода. Примеры изменяются в строке,
которая говорит /* INSERT TUTORIAL CODE HERE! */
в пределах try
блок, который заменяется для каждого приложения со специализированным кодом.
#include <stdlib.h>#include <iostream>#include <sstream>#include <stdexcept>/* uncomment for applications that use vectors *//*#include <vector>*/#include "mysql_connection.h"#include <cppconn/driver.h>#include <cppconn/exception.h>#include <cppconn/resultset.h>#include <cppconn/statement.h>#include <cppconn/prepared_statement.h>#define EXAMPLE_HOST "localhost"#define EXAMPLE_USER "worlduser"#define EXAMPLE_PASS "worldpass"#define EXAMPLE_DB "world"using namespace std;int main(int argc, const char **argv){ string url(argc >= 2 ? argv[1] : EXAMPLE_HOST); const string user(argc >= 3 ? argv[2] : EXAMPLE_USER); const string pass(argc >= 4 ? argv[3] : EXAMPLE_PASS); const string database(argc >= 5 ? argv[4] : EXAMPLE_DB); cout << "Connector/C++ tutorial framework..." << endl; cout << endl; try { /* INSERT TUTORIAL CODE HERE! */ } catch (sql::SQLException &e) { /* MySQL Connector/C++ throws three different exceptions: - sql::MethodNotImplementedException (derived from sql::SQLException) - sql::InvalidArgumentException (derived from sql::SQLException) - sql::SQLException (derived from std::runtime_error) */ cout << "# ERR: SQLException in " << __FILE__; cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl; /* what() (derived from std::runtime_error) fetches error message */ cout << "# ERR: " << e.what(); cout << " (MySQL error code: " << e.getErrorCode(); cout << ", SQLState: " << e.getSQLState() << " )" << endl; return EXIT_FAILURE; } cout << "Done." << endl; return EXIT_SUCCESS;}
Попробуйте код платформы как автономную программу, используя эту процедуру:
Скопируйте и вставьте код платформы к файлу такой как framework.cpp
.
Отредактируйте #define
операторы, чтобы отразить Ваши параметры соединения
(сервер, пользователь, пароль, база данных). Кроме того, потому что файл содержит те параметры,
установите его режим доступа, чтобы быть читаемыми только вам непосредственно.
Скомпилируйте платформу. Например, на Mac OS X, команда могла бы быть похожей на это (введите команду в одну строку):
shell>g++ -o framework
-I/usr/local/include -I/usr/local/include/cppconn
-lmysqlcppconn framework.cpp
Адаптируйте команду по мере необходимости к Вашей системе. Подобная команда необходима для учебных приложений, которые следуют.
Чтобы выполнить платформу, введите следующее:
shell> ./framework
Вы будете видеть простое сообщение:
Connector/C++ tutorial framework...Done.
Вы теперь готовы продолжать к учебным руководствам.