我開的長度足夠大了,可是還是報錯
![圖片說明](http://img.ask.csdn.net/upload/201602/17/1455723342_499331.png)
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1){
Connection ct=null;
Statement stm=null;
PreparedStatement ps=null;
ResultSet rs=null;
//Statement stmt=null;
try {
//加載驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//創建連接對象
String url="jdbc:sqlserver://localhost:1433;databaseName=master";
//注冊驅動程序,打開連接
ct=DriverManager.getConnection(url,"sa","ksj123456.");
//預編譯語句對象
String sql="insert into stu values(?,?,?,?,?,?)";
ps=ct.prepareStatement(sql);
//參數賦值
ps.setString(1, jtf1.getText());
ps.setString(2, jtf1.getText());
ps.setString(3, jtf1.getText());
ps.setString(4, jtf1.getText());
ps.setString(5, jtf1.getText());
ps.setString(6, jtf6.getText());
//執行操作
ps.executeUpdate();
this.dispose();
檢查你的數據庫的表怎麼定義的,比如學號列的長度如果是2個字符(nvarchar(2)),而你試圖插入005,就會報錯,別的同理。
ps.setString(2, jtf1.getText());
ps.setString(3, jtf1.getText());
ps.setString(4, jtf1.getText());
ps.setString(5, jtf1.getText());
你確認這些都是jtf1麼,我覺得應該是jtf2~5吧