我有一個稱爲寄存器的Mysql表格,我想將所有的細節從register
轉移到login
表格中,並附帶一個自動生成密碼的列。將數據從一個Mysql表格傳輸到另一個具有字符串的列的另一列
這是我的Servlet在那裏我有自動生成的密碼:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String passWord=Long.toHexString(Double.doubleToLongBits(Math.random()));
System.out.println(passWord);
String Id=request.getParameter("id");
int id=Integer.parseInt(Id);
AffiliateApproveService approve=new AffiliateApproveService();
approve.affiliateApprove(id,passWord);
}
在這裏,我已生成列密碼字符串「密碼」如何密碼分配到Password列字母數字密碼....
這是我的服務類:
public class AffiliateApproveService {
public void affiliateApprove(int id,String passWord) {
AffiliateApproveDAO cad=new AffiliateApproveDAO();
DataSource dataSource=new DataSource();
cad.setDataSource(dataSource);
cad.insertClient(id);
cad.updateClient(id, passWord);
cad.deleteClient(id);
}
這是我的DAO:
public class AffiliateApproveDAO {
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
Connection conn=null;
PreparedStatement statement=null;
ResultSet rs=null;
public void insertClient(int id) {
try{
conn=dataSource.createConnection();
PreparedStatement ps=conn.prepareStatement("insert into login(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
ps.executeUpdate("insert into login (id, FirstName, LastName, Gender, Category, DateOfBirth, Age, Address, Country, State, city, PinCode, UserName, EmailId, ContactNo, MobileNo)select id, FirstName, LastName, Gender, Category, DateOfBirth, Age, Address, Country, State, city, PinCode, UserName, EmailId, ContactNo, MobileNo from register where id="+id+" ");
ps.setInt(1, id);
}
catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (rs != null) try { rs.close(); } catch (SQLException ignore) {}
if (statement != null) try { statement.close(); } catch (SQLException ignore) {}
if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
}
}
public void deleteClient(int id) {
try{
conn=dataSource.createConnection();
PreparedStatement ps1=conn.prepareStatement("delete from register where id="+id+"");
ps1.executeUpdate();
}
catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (rs != null) try { rs.close(); } catch (SQLException ignore) {}
if (statement != null) try { statement.close(); } catch (SQLException ignore) {}
if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
}
}
public void updateClient(int id,String passWord){
try{
conn=dataSource.createConnection();
PreparedStatement ps=conn.prepareStatement("UPDATE login set PassWord= "+passWord+" where id="+id+"");
ps.executeUpdate();
}
catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (rs != null) try { rs.close(); } catch (SQLException ignore) {}
if (statement != null) try { statement.close(); } catch (SQLException ignore) {}
if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
}
}
}
這是我的登錄表
create table login(
id int(100) not null AUTO_INCREMENT primary key,
FirstName varchar(300) default null,
LastName varchar(300) default null,
Gender varchar(200) default null,
Category varchar(200) default null,
DateOfBirth varchar(200) default null,
Age int(7)default null,
Address varchar(1000) default null,
Country varchar(500) default null,
State varchar (500) default null,
city varchar(500)default null,
PinCode int(10)default null,
UserName varchar(100)default null,
EmailId varchar(500)default null,
ContactNo varchar(20) default null,
MobileNo varchar(20) default null,
TimeStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PassWord varchar(100)null default null
);
器DD1,這是我對寄存器表的DDL:
create table register(
id int(100) not null AUTO_INCREMENT primary key,
FirstName varchar(300) default null,
LastName varchar(300) default null,
Gender varchar(200) default null,
Category varchar(200) default null,
DateOfBirth varchar(200) default null,
Age int(3)default null,
Address varchar(1000) default null,
Country varchar(500) default null,
State varchar (500) default null,
city varchar(500)default null,
PinCode int(10)default null,
UserName varchar(500)default null,
EmailId varchar(500)default null,
ContactNo varchar(20) default null,
MobileNo varchar(20) default null,
TimeStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
現在我的問題是在updateClient()方法如何更新密碼登錄表中的變量passWord的值請幫助我解決此問題...謝謝你提前...
你可以給所有的'login'表和'register'的細節表? – Andolasoft
-pls發現這兩個表 – user3349720
@ user3349720的DDLS你可以檢查我的答案 –