JAVA:从mysql的表中获取单元格
我在函数中得到一个名为“id”的参数,并希望打印此id行名称的单元格 例如: 这是我的桌子:JAVA:从mysql的表中获取单元格,java,sql,cell,Java,Sql,Cell,我在函数中得到一个名为“id”的参数,并希望打印此id行名称的单元格 例如: 这是我的桌子: id name email 1 alon alon@gmail.com 我发送给我的函数func(1),所以我希望它打印'alon' 这就是我所尝试的: static final String url = "jdbc:mysql://localhost:3306/database_alon"; Class.forName("com.mysql.jdbc.Driv
id name email
1 alon alon@gmail.com
我发送给我的函数func(1),所以我希望它打印'alon'
这就是我所尝试的:
static final String url = "jdbc:mysql://localhost:3306/database_alon";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, "root", "Admin");
String query_txt = "SELECT * FROM authors WHERE id = " + id;
Statement ps2 = con.createStatement();
ResultSet my_rs = ps2.executeQuery(query_txt);
System.out.println(my_rs.getString("name"));
con.close;
一切都很好,但只有一个问题。在获取任何值之前,需要将
ResultSet
光标移到第一行:-
使用:-
ResultSet my_rs = ps2.executeQuery(query_txt);
while (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}
作为一个旁注,考虑使用<代码> PravaReals> < /C> >避免SQL注入攻击。
以下是您如何使用它:-PreparedStatement ps2 = con.prepareStatement("SELECT * FROM authors WHERE id = ?");
ps2.setInt(1, id);
ResultSet my_rs = ps2.executeQuery();
while (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}
一切都很好,但只有一个问题。在获取任何值之前,需要将
ResultSet
光标移到第一行:-
使用:-
ResultSet my_rs = ps2.executeQuery(query_txt);
while (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}
作为一个旁注,考虑使用<代码> PravaReals> < /C> >避免SQL注入攻击。
以下是您如何使用它:-PreparedStatement ps2 = con.prepareStatement("SELECT * FROM authors WHERE id = ?");
ps2.setInt(1, id);
ResultSet my_rs = ps2.executeQuery();
while (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}
您需要使用
ResultSet.next()
导航到返回的数据:
if (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}
您需要使用
ResultSet.next()
导航到返回的数据:
if (my_rs.next()) {
System.out.println(my_rs.getString("name"));
}