Czesc nie znam sie za bardzo na PostgreSQL ale mam taki problem przy odpaleniu tego. Zaczne od kodu.
#include <iostream>
#include <pqxx/pqxx>
using namespace std;
using namespace pqxx;
int main(int argc, char* argv[])
{
char * sql;
try{
connection C("dbname=OwlRobocze user=postgres password=haslo\
hostaddr=127.0.0.1 port=5432"); //connection C to kontruktor
if (C.is_open()) {
cout << "Opened database successfully: " << C.dbname() << endl;
} else {
cout << "Can't open database" << endl;
return 1;
}
/* Create SQL statement */
sql = "CREATE TABLE Tabel(" \
"ID INT PRIMARY KEY NOT NULL," \
"NAME TEXT NOT NULL," \
"AGE INT NOT NULL," \
"ADDRESS CHAR(50)," \
"SALARY REAL );";
/* Create a transactional object. */
work W(C);
/* Execute SQL query */
W.exec( sql );
//W.commit();
cout << "Table created successfully" << endl;
/* Create SQL statement */
sql = "INSERT INTO Tabel (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
/* Execute SQL query */
W.exec( sql );
//W.commit();
cout << "Records created successfully" << endl;
/* Create SQL statement ~ Ja*/
sql = "SELECT * FROM Tabel WHERE ID=4;";
// If we want to create a non-transactional object, firstly we have to close the transactional objects so let's do this
C.disconnect (); //to jest destruktor
/*Create a non-transactional object*/
nontransaction N(C); // I znowu konstruktor ktoremu dajemy za wartosc obiekt C <-- N od nontransaction
/*Execute SQL query*/
result R(N.exec(sql)); //Result R to konstruktor obiektu R z klasy result, jako wartosc dajemy mu wynik metody exec() o parametrze sql na rzecz obiektu N
W.exec(sql); //Wykonuje ten kod SQL 2 razy ale spoko. WYkonuje go tutaj ^
//W.commit();
cout<<"Seleceted succesfully";
for (result::const_iterator c = R.begin();c !=R.end(); c++)
{
cout<<"ID = "<<c[0].as<int>()<<endl;
cout<<"Name = "<<c[1].as<string>()<<endl;
cout<<"Age = "<<c[2].as<int>()<<endl;
cout<<"Address = "<<c[3].as<string>()<<endl;
cout<<"Salary = "<<c[4].as<float>()<<endl;
}
cout<<"Operation done successfully"<<endl;
//C.disconnect (); //to jest destruktor
}
catch (const std::exception &e){
cerr << e.what() << std::endl;
return 1;
}
return 0;
}
Blad :http://zapodaj.net/351dd2fd3b69b.png.html
PS: Czy wie ktos moze jak moge dodawac wlasne wartosci do bazy chodzi mi o to ze mam np. zmienna int ktorej nadaje wartosc poprzez cin>> .A nastepnie ta zmienna moge wrzucic do bazy danych.
Dzieki pozdrawiam