Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
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
alx_java2b_20250412
Commits
3c30ac9e
Commit
3c30ac9e
authored
Apr 13, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zapytania z parametrami
parent
00274ce9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
110 additions
and
0 deletions
+110
-0
OdczytajNiektorych_v1.java
...zyDanych/src/main/java/zajecia/OdczytajNiektorych_v1.java
+36
-0
OdczytajNiektorych_v2.java
...zyDanych/src/main/java/zajecia/OdczytajNiektorych_v2.java
+38
-0
OdczytajNiektorych_v3.java
...zyDanych/src/main/java/zajecia/OdczytajNiektorych_v3.java
+36
-0
No files found.
PC21-BazyDanych/src/main/java/zajecia/OdczytajNiektorych_v1.java
0 → 100644
View file @
3c30ac9e
package
zajecia
;
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
OdczytajNiektorych_v1
{
// Wyświetl tylko pracowników, których job_id jest równy podanej wartości
// To rozwiązanie jest mało wydajne.
public
static
void
main
(
String
[]
args
)
{
String
url
=
"jdbc:postgresql://localhost:5432/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123"
))
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj job id"
,
"IT_PROG"
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees ORDER BY employee_id"
);
ResultSet
rs
=
stmt
.
executeQuery
())
{
while
(
rs
.
next
())
{
String
job
=
rs
.
getString
(
"job_id"
);
if
(
job
.
equals
(
szukanyJob
))
{
System
.
out
.
printf
(
"%s %s (%s), pensja %s\n"
,
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
job
,
rs
.
getBigDecimal
(
"salary"
));
}
}
}
System
.
out
.
println
(
"To już koniec"
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
PC21-BazyDanych/src/main/java/zajecia/OdczytajNiektorych_v2.java
0 → 100644
View file @
3c30ac9e
package
zajecia
;
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
OdczytajNiektorych_v2
{
// Wyświetl tylko pracowników, których job_id jest równy podanej wartości
// Ta wersja jest narażona na "SQL injection"
// Przykładowe kody, które można wpisać do okna, aby coś zepsuć:
// a'; UPDATE employees SET salary = 1; SELECT * FROM employees WHERE 'a' = 'a
// '; DROP TABLE employees CASCADE; SELECT '
public
static
void
main
(
String
[]
args
)
{
String
url
=
"jdbc:postgresql://localhost:5432/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123"
))
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj job id"
,
"IT_PROG"
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees WHERE job_id = '"
+
szukanyJob
+
"' ORDER BY 1"
))
{
System
.
out
.
println
(
stmt
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
while
(
rs
.
next
())
{
System
.
out
.
printf
(
"%s %s (%s), pensja %s\n"
,
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
rs
.
getString
(
"job_id"
),
rs
.
getBigDecimal
(
"salary"
));
}
}
}
System
.
out
.
println
(
"To już koniec"
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
PC21-BazyDanych/src/main/java/zajecia/OdczytajNiektorych_v3.java
0 → 100644
View file @
3c30ac9e
package
zajecia
;
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
OdczytajNiektorych_v3
{
// Wyświetl tylko pracowników, których job_id jest równy podanej wartości
// W tej wersji we właściwy sposób podstawiamy parametr do zapytania (poprzez znaki zapytania ?)
public
static
void
main
(
String
[]
args
)
{
String
url
=
"jdbc:postgresql://localhost:5432/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123"
))
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj job id"
,
"IT_PROG"
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees WHERE job_id = ? ORDER BY 1"
))
{
stmt
.
setString
(
1
,
szukanyJob
);
System
.
out
.
println
(
stmt
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
while
(
rs
.
next
())
{
System
.
out
.
printf
(
"%s %s (%s), pensja %s\n"
,
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
rs
.
getString
(
"job_id"
),
rs
.
getBigDecimal
(
"salary"
));
}
}
}
System
.
out
.
println
(
"To już koniec"
);
}
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