Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_dzienna_15_09
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
java_dzienna_15_09
Commits
0d8a5a7a
Commit
0d8a5a7a
authored
Sep 27, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykłady modyfikacji danych i transakcji.
parent
82072b34
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
126 additions
and
0 deletions
+126
-0
Podwyzka1.java
...azyDanych/src/main/java/zajecia/postgresql/Podwyzka1.java
+52
-0
Podwyzka2.java
...azyDanych/src/main/java/zajecia/postgresql/Podwyzka2.java
+74
-0
No files found.
PC24-BazyDanych/src/main/java/zajecia/postgresql/Podwyzka1.java
0 → 100644
View file @
0d8a5a7a
package
zajecia
.
postgresql
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
javax.swing.JOptionPane
;
public
class
Podwyzka1
{
public
static
void
main
(
String
[]
args
)
{
try
(
Connection
c
=
DriverManager
.
getConnection
(
"jdbc:postgresql://localhost/hr"
,
"kurs"
,
"abc123"
))
{
String
job
=
JOptionPane
.
showInputDialog
(
"Podaj kod stanowiska"
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT avg(salary) FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
job
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
if
(
rs
.
next
())
{
double
srednia
=
rs
.
getDouble
(
1
);
JOptionPane
.
showMessageDialog
(
null
,
"Średnia pensja: "
+
srednia
);
}
}
}
int
zmiana
=
Integer
.
parseInt
(
JOptionPane
.
showInputDialog
(
"Podaj zmianę pensji:"
));
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"UPDATE employees SET salary = salary + ? WHERE job_id = ?"
))
{
stmt
.
setInt
(
1
,
zmiana
);
stmt
.
setString
(
2
,
job
);
// Do wykonywania poleceń niebędących zapytaniami, np. INSERT, UPDATE, DELETE, ale też CREATE / ALTER TABLE,
// używa się executeUpdate
int
ile
=
stmt
.
executeUpdate
();
JOptionPane
.
showMessageDialog
(
null
,
"Zmodyfikowano "
+
ile
+
" rekordów"
);
}
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT avg(salary) FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
job
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
if
(
rs
.
next
())
{
double
srednia
=
rs
.
getDouble
(
1
);
JOptionPane
.
showMessageDialog
(
null
,
"Średnia pensja: "
+
srednia
);
}
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
PC24-BazyDanych/src/main/java/zajecia/postgresql/Podwyzka2.java
0 → 100644
View file @
0d8a5a7a
package
zajecia
.
postgresql
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
javax.swing.JOptionPane
;
public
class
Podwyzka2
{
public
static
void
main
(
String
[]
args
)
{
try
(
Connection
c
=
DriverManager
.
getConnection
(
"jdbc:postgresql://localhost/hr"
,
"kurs"
,
"abc123"
))
{
// Aby zacząć pracować w trybie transakcji, należy przełączyć opcję autoCommit na false.
// Inaczej mówiąc, zmiany trzeba będzie jawnie zatwierdzać poleceniem commit.
c
.
setAutoCommit
(
false
);
String
job
=
JOptionPane
.
showInputDialog
(
"Podaj kod stanowiska"
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT avg(salary) FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
job
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
if
(
rs
.
next
())
{
double
srednia
=
rs
.
getDouble
(
1
);
JOptionPane
.
showMessageDialog
(
null
,
"Średnia pensja: "
+
srednia
);
}
}
}
int
zmiana
=
Integer
.
parseInt
(
JOptionPane
.
showInputDialog
(
"Podaj zmianę pensji:"
));
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"UPDATE employees SET salary = salary + ? WHERE job_id = ?"
))
{
stmt
.
setInt
(
1
,
zmiana
);
stmt
.
setString
(
2
,
job
);
// Do wykonywania poleceń niebędących zapytaniami, np. INSERT, UPDATE, DELETE, ale też CREATE / ALTER TABLE,
// używa się executeUpdate
int
ile
=
stmt
.
executeUpdate
();
JOptionPane
.
showMessageDialog
(
null
,
"Zmodyfikowano "
+
ile
+
" rekordów"
);
}
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT avg(salary) FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
job
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
if
(
rs
.
next
())
{
double
srednia
=
rs
.
getDouble
(
1
);
JOptionPane
.
showMessageDialog
(
null
,
"Średnia pensja: "
+
srednia
);
}
}
}
int
wybor
=
JOptionPane
.
showConfirmDialog
(
null
,
"Czy zatwierdzić zmiany?"
);
switch
(
wybor
)
{
case
JOptionPane
.
YES_OPTION
->
c
.
commit
();
case
JOptionPane
.
NO_OPTION
->
c
.
rollback
();
case
JOptionPane
.
CANCEL_OPTION
->
{
/* nic */
}
}
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT avg(salary) FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
job
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
if
(
rs
.
next
())
{
double
srednia
=
rs
.
getDouble
(
1
);
JOptionPane
.
showMessageDialog
(
null
,
"Średnia pensja: "
+
srednia
);
}
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment