当前位置: 技术问答>java相关
关于数据库的问题!!!
来源: 互联网 发布时间:2015-10-27
本文导语: 问题一: 我现在想实现以下功能.我在前台设计了一个界面.有几个文本框控件,和两个Jcombobox控件,通过查询,我想把后面的数据调到前台,在前台显示.文本框里的都可以显示,但是Jcombobox的信息显示不出来. 问题二: 我想添...
问题一:
我现在想实现以下功能.我在前台设计了一个界面.有几个文本框控件,和两个Jcombobox控件,通过查询,我想把后面的数据调到前台,在前台显示.文本框里的都可以显示,但是Jcombobox的信息显示不出来.
问题二:
我想添加一条记录,然后,自动显示员工的ID号,怎么显示.我的做法是,先获得数据库里ID的最大编号,然后加1.并在数据库中添加一条空记录,并且值为NULL(除了员工ID号).
void queryButton_actionPerformed(ActionEvent e) //query
{
EmployeeCodeTextField.setEnabled(true);
EmployeeNameTextField.setEnabled(true);
EmployeeAgeTextField.setEnabled(true);
EmployeeSexComboBox.setEnabled(true);
EmployeePositionComboBox.setEnabled(true);
EmployeeAddressTextField.setEnabled(true);
DepartmentCodeComboBox.setEnabled(true);
WorkSiteComboBox.setEnabled(true);
PhoneTextField.setEnabled(true);
IsRetiredComboBox.setEnabled(true);
BasicSalaryTextField.setEnabled(true);
String url = "jdbc:odbc:data";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn = DriverManager.getConnection(url, "sa", "");
PreparedStatement stat = cn.prepareStatement("Select * from EmployeeInformation where employeeCode=?");
stat.setString(1,EmployeeCodeTextField.getText());
result = stat.executeQuery();
result.next();
//cn.close();
}
catch(Exception ex)
{}
showRecord(result);
}
public void showRecord(ResultSet result){
try{
EmployeeNameTextField.setText(result.getString(2));
EmployeeAgeTextField.setText(result.getString(3));
//EmployeeSexComboBox.setSelectedItem(result.getString(4));
String str1 = result.getString(4);
if (str1.equals("男"))
{
EmployeeSexComboBox.setSelectedIndex(0);
EmployeeSexComboBox.invalidate();
// EmployeeSexComboBox.setSelectedItem("男");
}
else
{
EmployeeSexComboBox.setSelectedIndex(1);
EmployeeSexComboBox.invalidate();
// EmployeeSexComboBox.setSelectedItem("女");
}
EmployeePositionComboBox.setSelectedItem(result.getString(5));
EmployeeAddressTextField.setText(result.getString(6));
DepartmentCodeComboBox.setSelectedItem(result.getString(7));
WorkSiteComboBox.setSelectedItem(result.getString(8));
PhoneTextField.setText(result.getString(9));
BasicSalaryTextField.setText(result.getString(10));
String str = result.getString(11);
if (str.equals("0"))
{
IsRetiredComboBox.setSelectedIndex(0);
}
else
{
IsRetiredComboBox.setSelectedIndex(1);
}
}
catch(Exception e8){
}
}
求求你们了.呵呵.
我现在想实现以下功能.我在前台设计了一个界面.有几个文本框控件,和两个Jcombobox控件,通过查询,我想把后面的数据调到前台,在前台显示.文本框里的都可以显示,但是Jcombobox的信息显示不出来.
问题二:
我想添加一条记录,然后,自动显示员工的ID号,怎么显示.我的做法是,先获得数据库里ID的最大编号,然后加1.并在数据库中添加一条空记录,并且值为NULL(除了员工ID号).
void queryButton_actionPerformed(ActionEvent e) //query
{
EmployeeCodeTextField.setEnabled(true);
EmployeeNameTextField.setEnabled(true);
EmployeeAgeTextField.setEnabled(true);
EmployeeSexComboBox.setEnabled(true);
EmployeePositionComboBox.setEnabled(true);
EmployeeAddressTextField.setEnabled(true);
DepartmentCodeComboBox.setEnabled(true);
WorkSiteComboBox.setEnabled(true);
PhoneTextField.setEnabled(true);
IsRetiredComboBox.setEnabled(true);
BasicSalaryTextField.setEnabled(true);
String url = "jdbc:odbc:data";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn = DriverManager.getConnection(url, "sa", "");
PreparedStatement stat = cn.prepareStatement("Select * from EmployeeInformation where employeeCode=?");
stat.setString(1,EmployeeCodeTextField.getText());
result = stat.executeQuery();
result.next();
//cn.close();
}
catch(Exception ex)
{}
showRecord(result);
}
public void showRecord(ResultSet result){
try{
EmployeeNameTextField.setText(result.getString(2));
EmployeeAgeTextField.setText(result.getString(3));
//EmployeeSexComboBox.setSelectedItem(result.getString(4));
String str1 = result.getString(4);
if (str1.equals("男"))
{
EmployeeSexComboBox.setSelectedIndex(0);
EmployeeSexComboBox.invalidate();
// EmployeeSexComboBox.setSelectedItem("男");
}
else
{
EmployeeSexComboBox.setSelectedIndex(1);
EmployeeSexComboBox.invalidate();
// EmployeeSexComboBox.setSelectedItem("女");
}
EmployeePositionComboBox.setSelectedItem(result.getString(5));
EmployeeAddressTextField.setText(result.getString(6));
DepartmentCodeComboBox.setSelectedItem(result.getString(7));
WorkSiteComboBox.setSelectedItem(result.getString(8));
PhoneTextField.setText(result.getString(9));
BasicSalaryTextField.setText(result.getString(10));
String str = result.getString(11);
if (str.equals("0"))
{
IsRetiredComboBox.setSelectedIndex(0);
}
else
{
IsRetiredComboBox.setSelectedIndex(1);
}
}
catch(Exception e8){
}
}
求求你们了.呵呵.
|
问题一:
你的result.getString(4)中的性别显示字段在数据库中是什么数据类型??可能是result.getString(4)返回的字串带了空格啊!你可用startsWith进行比较,也可以将result.getString(4)的空格去除(即使空格不存在也试一次!)。
问题二:我想添加一条记录,然后,自动显示员工的ID号,怎么显示.我的做法是,先获得数据库里ID的最大编号,然后加1.并在数据库中添加一条空记录,并且值为NULL(除了员工ID号).
说实在,我不明白你要做什么?是要显示记录数??还是想获得最大的员工ID号?但不管怎样,如果你的ID是自动增加的,那你用另外一条查询语句去获得最大ID号就得了;
你的result.getString(4)中的性别显示字段在数据库中是什么数据类型??可能是result.getString(4)返回的字串带了空格啊!你可用startsWith进行比较,也可以将result.getString(4)的空格去除(即使空格不存在也试一次!)。
问题二:我想添加一条记录,然后,自动显示员工的ID号,怎么显示.我的做法是,先获得数据库里ID的最大编号,然后加1.并在数据库中添加一条空记录,并且值为NULL(除了员工ID号).
说实在,我不明白你要做什么?是要显示记录数??还是想获得最大的员工ID号?但不管怎样,如果你的ID是自动增加的,那你用另外一条查询语句去获得最大ID号就得了;