使用JDBC向SqlServer資料庫中插入資料
阿新 • • 發佈:2018-12-25
在實際的開發的當中
我們會發現在資料庫中插入資料是比查詢資料難的
因為查詢只需要一個固定的值就可以進行查詢
但是插入的話需要對照資料庫的建表
因為有些鍵值不允許為空
示例程式碼:
package sqlserver.controller;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import peopele.User;
public class Sqlserver_People_Controller extends Sqlserver_Controller{
public Sqlserver_People_Controller(){
super();
}
public void user_register(User user){
try {
String sql = "insert into dbo.Table_User(userid, username, email, mobilephone, password)"
+ "values(?, ?, ?, ?, ?)";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString (1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getEmail());
ps.setString(4, user.getMobilephone());
ps.setString(5, user.getPassword());
int row = ps.executeUpdate();
if(row > 0){
System.out .println("使用者" + user.getName() + "已向dbo.Table_User表中添加了"
+ row + "條資料");
}
ps.close();
user = null;
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("向dbo.Table_User中新增使用者"
+ user.getName() + "的資訊失敗");
}
}
public User user_login(String username){
try {
Statement stmt = connection.createStatement();
String sql = "select * from dbo.Table_User where username = '" + username + "'";
ResultSet rs = stmt.executeQuery(sql);
System.out.println("正在查詢使用者" + username + "的資訊");
rs.next();
System.out.println("已查詢到使用者" + username + "的資訊");
User user = new User(
rs.getString("userid"),
rs.getString("username"),
rs.getString("email"),
rs.getString("mobilephone"),
rs.getString("password")
);
System.out.println("使用者" + username + "登入成功");
return user;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("使用者" + username + "登入失敗");
}
return null;
}
}