我正在尝试为餐厅制作应用程序。我已经建立了一个本地数据库,并有一个准备好的语句来保存用户的用户名和密码,使他们能够登录系统,但它似乎不起作用。用户名和密码未保存。下面是我的代码,如果有人有任何解决方案,我将不胜感激。
public class register extends AppCompatActivity {
EditText username, password;
Button registartion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
}
private Connection getConnection()
{
String host = "jdbc:mysql://jdbc.fmc.me.uk:3306/db_ben";
String u = "user_ben";
String p = "******";
try
{
Connection con = DriverManager.getConnection(host, u, p);
return con;
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private boolean registerUser(){
//Get username
EditText regUsernameBox = (EditText) findViewById(R.id.RegUsername);
String regUsernameStr = regUsernameBox.getText().toString();
//Get password
EditText regPasswordBox = (EditText) findViewById(R.id.RegPassword);
String regPasswordStr = regPasswordBox.getText().toString();
System.out.println(regUsernameStr);
System.out.println(regPasswordStr);
int i = 0;
Connection con = getConnection();
try {
PreparedStatement pst = con.prepareStatement("insert into users values(?,?)");
pst.setString(1, regUsernameStr);
pst.setString(2,regPasswordStr);
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
if(i>0)
return true;
return false;
}
public void buttonClick() {
final Button registerUsers = (Button) findViewById(R.id.bRegister);
registerUsers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerUser();
}
});
}
}
最佳答案
您的方法均未被调用。您的 oncreate 设置 Activity 的 View ,然后什么都不做。因此,您不会收到任何错误,因为技术上没有错误。您必须在创建中为按钮设置按钮单击说明。你的 onCreate 应该是这样的:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
final Button registerUsers = (Button) findViewById(R.id.bRegister);
registerUsers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerUser();
}
});
}
现在这里为按钮分配了一个变量,然后在创建时将 clicklistener 设置为它。现在,当您单击该按钮时,它会执行某些操作。
关于java - 将值保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36236760/