-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathConsole .c
145 lines (73 loc) · 1.92 KB
/
Console .c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
#include <string.h>
int main() {
PGconn *conn;
PGresult *res;
int rec_count;
int row;
int col;
conn = PQconnectdb("host=10.100.71.21 port=5432 user=201601179 password=dar643673 dbname=201601179");
if (PQstatus(conn) == CONNECTION_BAD) {
puts("We were unable to connect to the database");
exit(0);
}
char *string=(char *)malloc(1000*sizeof(char));
while(1)
{
res=PQexec(conn,"set search_path to \"fbl\";");
printf("enter 1 for query 2 for update then enter the sql string and 3 for exit\n");
int type;
scanf("%d\n",&type);
fflush(stdout);
if(type==1)
{ scanf("%[^\n]s",string);
res = PQexec(conn,string);
if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
printf("%s",PQresultErrorMessage(res));
continue;
}
rec_count = PQntuples(res);
printf("We received %d records.\n", rec_count);
puts("==========================");
int col_count=PQnfields(res);
for (col=0; col<col_count; col++)
{
printf("%s\t", PQfname(res,col));
}
puts("");
for (row=0; row<rec_count; row++)
{
for (col=0; col<col_count; col++)
{
printf("%s\t", PQgetvalue(res, row, col));
}
puts("");
}
puts("==========================");
}
else if(type==2)
{
scanf("%[^\n]s",string);
res = PQexec(conn,string);
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
printf("%s",PQresultErrorMessage(res));
continue;
}
else
{
printf("Update query executed succesfully\n");
}
}
else
{
PQclear(res);
PQfinish(conn);
return 0;
}
}
return 0;
}