[SQL Server]必须声明变量 '@P3stusJg'。
[Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@P3stusJg'。
mport java.awt.ComponentOrientation;
import java.awt.Dialog;
import java.awt.GridLayout;
import java.awt.event.*;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.*;
public class StusUpdataDialog extends JDialog implements ActionListener{
JButton add;JButton cancel;
JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6;
public StusUpdataDialog(Frame owner, String title, boolean modal,StuTableModel stm,int rowNum) {
super(owner, title, modal);
this.setVisible(true);
this.setSize(300,250);
this.setLocation(300,250);
JPanel jp1 =new JPanel(new GridLayout(6,1));
JLabel id = new JLabel("学号");
JLabel name = new JLabel("姓名");
JLabel sex = new JLabel("性别");
JLabel age = new JLabel("年龄");
JLabel jg = new JLabel("籍贯");
JLabel dept = new JLabel("院系");
jp1.add(id);jp1.add(name);jp1.add(sex);
jp1.add(age);jp1.add(jg);jp1.add(dept);
this.add(BorderLayout.WEST,jp1);
JPanel jp2 = new JPanel(new GridLayout(6,1));
jtf1 = new JTextField(10);
jtf1.setEnabled(false);
jtf1.setText((String)stm.getValueAt(rowNum, 0));
jtf2 = new JTextField(10);
jtf2.setText((String)stm.getValueAt(rowNum, 1));
jtf3 = new JTextField(10);
jtf3.setText((String)stm.getValueAt(rowNum, 2));
jtf4 = new JTextField(10);
jtf4.setText(stm.getValueAt(rowNum, 3).toString());
jtf5 = new JTextField(10);
jtf5.setText((String)stm.getValueAt(rowNum,4));
jtf6 = new JTextField(10);
jtf6.setText((String)stm.getValueAt(rowNum, 5));
jp2.add(jtf1);jp2.add(jtf2);jp2.add(jtf3);
jp2.add(jtf4);jp2.add(jtf5);jp2.add(jtf6);
this.add(BorderLayout.CENTER,jp2);
JPanel jp3 = new JPanel();
add= new JButton("修改");
cancel = new JButton("取消");
add.addActionListener(this);
cancel.addActionListener(this);
jp3.add(add);jp3.add(cancel);
this.add(BorderLayout.SOUTH,jp3);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == add){
Connection ct =null;
PreparedStatement ps = null;
ResultSet rs =null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct = DriverManager.getConnection("jdbc:odbc:Mytest");
String sql = "update stus set stusName=?,sex =?,stusAge =?" +
"stusJg =?,studDept =? where stusId = ?";
ps = ct.prepareStatement(sql);
ps.setString(1, jtf2.getText());
ps.setString(2, jtf3.getText());
ps.setString(3, jtf4.getText());
ps.setString(4, jtf5.getText());
ps.setString(5, jtf6.getText());
ps.setString(6, jtf1.getText());
int b = ps.executeUpdate();
//什么错误,怎么错在哪了呀
this.dispose();
}catch(Exception ee){
ee.printStackTrace();
}finally{
try{
if (ps != null) ps.close();
if(rs != null) rs.close();
if(ct != null) ct.close();
}catch(Exception s){
s.printStackTrace();
}
}
return ;
}else if(e.getSource() == cancel){
return;
}
}
}