initial commit
This commit is contained in:
parent
7f6c6e6db7
commit
36ceb2335f
5
postres_cpp/Makefile
Normal file
5
postres_cpp/Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
postgres_connector: postgres_connector.cpp
|
||||
g++ -o postgres_connector postgres_connector.cpp -lpqxx -lpq
|
||||
|
||||
clean:
|
||||
-rm postgres_connector
|
BIN
postres_cpp/postgres_connector
Executable file
BIN
postres_cpp/postgres_connector
Executable file
Binary file not shown.
57
postres_cpp/postgres_connector.cpp
Normal file
57
postres_cpp/postgres_connector.cpp
Normal file
@ -0,0 +1,57 @@
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <pqxx/pqxx>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#define HOST "127.0.0.1"
|
||||
#define DATABASE "fabryka_sprzetu_it"
|
||||
#define SQL "SELECT * FROM PC;"
|
||||
|
||||
#define COL_W 15 //if some table contetnts have too much characters/numbers in it, change this value.
|
||||
|
||||
using namespace std;
|
||||
using namespace pqxx;
|
||||
|
||||
int main() {
|
||||
//welcome message & prompt
|
||||
cout << "Welcome to MySQL connector. \nYou are trying to connect to host: " << HOST << "\nType your credentials to connect:\n";
|
||||
string username, password;
|
||||
cout << "User: ";
|
||||
cin >> username;
|
||||
cout << "Password: ";
|
||||
cin >> password;
|
||||
|
||||
//prases the text to match the connection typedef input arg
|
||||
stringstream stream;
|
||||
stream << "dbname = " << DATABASE << " user = " << username << " password = " << password << " \
|
||||
hostaddr = " << HOST << " port = 5432";
|
||||
|
||||
try {
|
||||
connection C(stream.str());
|
||||
if (!C.is_open()) return 1; //closes the program if there's an issue with connection
|
||||
|
||||
nontransaction N(C);
|
||||
result R(N.exec(SQL));
|
||||
|
||||
//print result of last used query
|
||||
cout << SQL << endl;
|
||||
|
||||
//print column names
|
||||
for(int i=0; i<(int)R[0].size(); i++)
|
||||
cout << right << setw(COL_W) << R.column_name(i);
|
||||
cout << endl;
|
||||
//print table contents
|
||||
for (result::const_iterator r = R.begin(); r!=R.end(); r++){
|
||||
for(int i=0; i<(int)R[0].size(); i++)
|
||||
cout << right << setw(COL_W) << r[i].as<string>();
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
//end connection
|
||||
C.disconnect();
|
||||
} catch (const exception &e) {
|
||||
cerr << e.what() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user