我正在制作一个程序,可以从我创建的数据库中检索字段的输入数据/值。但是,当我运行它时,输出始终为null。不知道怎么了 这是我的代码:
import java.sql.*;
public class GuestsInfo
{
private String firstName, lastName;
private int age;
private Connection con;
private PreparedStatement statement;
public GuestsInfo()
{
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/3moronsdb","root","");
} catch (Exception e) {
e.printStackTrace();
}
}
public GuestsInfo(String firstName, String lastName, int age)
{
this();
try
{
statement = con.prepareStatement("Insert into guest(firstName,lastName,age)values(?,?,?)");
statement.setString(1, firstName);
statement.setString(2, lastName);
statement.setInt(3, age);
statement.executeUpdate();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
return;
}
}
public void setFirstName(String firstName)
{
try{
statement= con.prepareStatement("SELECT * FROM guest WHERE firstName = ?");
statement.setString(1, firstName);
ResultSet rs = statement.executeQuery();
while(rs.next()){
firstName = rs.getString(1);
}
}catch(Exception e){
System.out.print(e);
}
}
public String getFirstName(){
return firstName;
}
public void setLastName(String lastName)
{
try{
statement= con.prepareStatement("SELECT * FROM guest WHERE lastName = ?");
statement.setString(2, lastName);
ResultSet rs = statement.executeQuery();
while(rs.next()){
lastName = rs.getString(2);
}
}catch(Exception e){
System.out.print(e);
}
}
public String getLastName(){
return lastName;
}
public void setAge(int age){
try{
statement = con.prepareStatement("SELECT * FROM guest WHERE age=?");
statement.setInt(3, age);
ResultSet rs = statement.executeQuery();
while(rs.next()){
age = rs.getInt(3);
}
}catch(Exception e){
System.out.print(e);
}
}
public int getAge(){
return age;
}
在我的主班我有以下代码:
public class TestMain {
public static void main(String [] args){
GuestsInfo gi = new GuestsInfo();
gi.setFirstName("Ericka");
System.out.println(gi.getFirstName());
}
}
我不知道为什么我运行它时总是说null。
您实际上并没有在设置员中“设置”任何东西。
public void setFirstName(String firstName)
{
try{
// Here you create a READing statement.
statement= con.prepareStatement("SELECT * FROM guest WHERE firstName = ?");
statement.setString(1, firstName);
ResultSet rs = statement.executeQuery();
while(rs.next()){
// Here you set the >>method param<< to a non-existing String
firstName = rs.getString(1);
}
}catch(Exception e){
System.out.print(e);
}
}
// After the method is done you have done nothing because you didn't even set your class member variable "firstName", which you would have set using "this.firstName".
最重要的是:我对getter和setter的理解使您可以在getter中进行查询。
我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:
问题内容: 我知道如何从Java数据库中检索数据(只是表中的文本),以及如何在控制台中显示数据。但我想将其加载到JTable中。有没有使用Vector的良好(现代)方法(教程)? 问题答案: 查看本教程:如何使用表
我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:
我正在尝试实施一个工资系统,但我在更新员工方面遇到了一些问题。我已将员工的性别作为varchar存储在数据库中。当我输入员工id并单击搜索按钮时,我想从数据库中获取该信息,并根据数据以男性/女性单选按钮显示。代码中没有错误。但问题是,当我尝试这样做时,只有男性按钮显示为选中状态,这是默认设置。即使数据库上的数据显示为女性,女性单选按钮也不会被选中。有谁能帮我解决这个问题吗?下面是我的代码。
关于我的上一个问题,我想从创建的sqlite数据库中检索ID,将其作为Intent putExtra()中的数据传递,以便将其用作PendingContent的ID。getActivity()。目前,我正在使用queryNumEntries为从我的DatabaseManager中的以下代码添加到数据库中的每个提醒设置id。类别: 并在AddActivity中调用它。班 在创建条目时,除了尝试此操作
我想从数据库中检索整个表并将其显示到我的jsp页面中,但我得到了一个错误 我的工作人员豆。java是 而我的getAllDetailDAO.java是 连接提供程序包com.staff.db; 而我的DisplayAllDetail.jsp是 我的错误是 StackTrace:org.apache.jasper.servlet.jspServletwrapper.handleJSPExceptio