Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RDBCTestFloat.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file RDBCTestFloat.C
1
2
#include <TError.h>
3
#include <TString.h>
4
#include <TFile.h>
5
#include <TF1.h>
6
#include <
RDBC/TSQLDriverManager.h
>
7
#include <
RDBC/TSQLConnection.h
>
8
#include <
RDBC/TSQLDatabaseMetaData.h
>
9
#include <
RDBC/TSQLResultSet.h
>
10
#include <
RDBC/TSQLResultSetMetaData.h
>
11
#include <
RDBC/TSQLPreparedStatement.h
>
12
#include <
RDBC/TSQLCallableStatement.h
>
13
#include <
RDBC/TSQLTypes.h
>
14
extern
"C"
{
15
#include <stdlib.h>
16
};
17
//___________________________________________________________________
18
Int_t
RDBCTestInt
(
const
Text_t* dsn,
19
const
Text_t* usr=
""
,
20
const
Text_t* pwd=
""
)
21
{
22
// Open a connection...
23
TSQLConnection
* myConnection = NULL;
24
if
(usr!=
""
&& pwd !=
""
){
25
if
(getenv(
"VERBOSE"
))
26
printf
(
"connecting with: dsn= %s usr=%s pwd=%s\n"
,dsn,usr,pwd);
27
myConnection =
TSQLDriverManager::GetConnection
( dsn, usr, pwd );
28
}
else
{
29
if
(getenv(
"VERBOSE"
))
30
printf
(
"connecting with: dsn= %s \n"
,dsn);
31
myConnection =
TSQLDriverManager::GetConnection
( dsn );
32
}
33
34
if
(!myConnection) {
35
printf
(
"failed to connect: dsn= %s usr=%s pwd=%s\n"
,dsn,usr,pwd);
36
printf
(
"exiting...\n"
);
37
return
-1;
// return on error
38
}
else
39
printf
(
"connected!!!\n"
);
40
TSQLStatement
* stmt = myConnection->
CreateStatement
();
41
42
stmt->
ExecuteUpdate
(
"drop table float_table"
);
43
stmt->
ExecuteUpdate
(
"create table float_table (a_float float not null)"
);
44
TSQLPreparedStatement
* pstmt =
45
myConnection->
PrepareStatement
(
"insert into float_table (a_float) values(?)"
);
46
47
float
some_float = 1.2345678;
48
pstmt->
SetFloat
(1,some_float);
49
pstmt->
ExecuteUpdate
(
""
);
50
51
some_float = 3.3456789;
52
53
pstmt->
SetFloat
(1,some_float);
54
pstmt->
ExecuteUpdate
(
""
);
55
56
TSQLResultSet
* rs = stmt->
ExecuteQuery
(
"select a_float from float_table order by a_float"
);
57
rs->
Next
();
// goto the first row
58
float
my_float = rs->
GetFloat
(1);
59
printf
(
"retrieved: %f\n"
,my_float);
60
rs->
Next
();
// goto the next row
61
my_float = rs->
GetFloat
(1);
62
printf
(
"retrieved: %f\n"
,my_float);
63
64
65
myConnection->
Close
();
66
return
0;
67
}
68
69
//___________________________________________________________________
70
void
Catch
(
TSQLException
*
e
)
71
{
72
// handle exceptions
73
74
TString
str
= e->
GetMessage
();
75
printf
(
"SQL Error: %s\n"
,str.Data());
76
}
77
78
80
#ifdef STANDALONE
81
82
#include <TROOT.h>
83
#include <TSystem.h>
84
#include <iostream>
85
86
//---- Main program ------------------------------------------------------------
87
88
TROOT
root
(
"RDBCTestInt"
,
"Test RDBC TSQLDriverManager and TSQLConnection"
);
89
90
int
main
(
int
argc,
char
**argv)
91
{
92
93
gSystem->Load(
"libRDBC"
);
94
Int_t ret = -1;
95
96
if
(argc < 2 || argc > 4){
97
printf
(
"usage: RDBCTestInt dsn [usr] [password]\n"
);
98
return
ret;
99
}
100
101
if
(argc==2)
102
ret=
RDBCTestInt
(argv[1]);
103
if
(argc==3)
104
ret=
RDBCTestInt
(argv[1],argv[2]);
105
if
(argc==4)
106
ret=
RDBCTestInt
(argv[1],argv[2],argv[3]);
107
108
return
ret;
109
}
110
#endif
RDBC
blob
master
test
RDBCTestFloat
RDBCTestFloat.C
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:49
using
1.8.2 with
sPHENIX GitHub integration