我被困在一个项目上,需要帮助才能解决这个问题 我从3个不同的输入接收数据(2个是Spinners,1个是TextView) 表列名称为:customer id,quantity和production id。
在插入我的表之前,我需要检查重复条目的生产ID。
以下是我目前的工作:
if(res.getCount()==0){
boolean isInserted = mytempDB.insertdataintotemptable(
ProducationSpinner.getSelectedItem().toString(), QuantityText.getText().toString(),
CustomerSpinner.getSelectedItem().toString());
if (isInserted == true)
Toast.makeText(orderChalan.this, "Data save successfully", Toast.LENGTH_LONG).show();
else
Toast.makeText(orderChalan.this, "Data not Inserted", Toast.LENGTH_LONG).show();
} else {
while(res.isAfterLast()){
if (res.getString(4).toString() == CustomerSpinner.getSelectedItem().toString()) {
boolean isInserted = mytempDB.insertdataintotemptable(ProducationSpinner.getSelectedItem().toString(),
QuantityText.getText().toString(), CustomerSpinner.getSelectedItem().toString());
if (isInserted == true)
Toast.makeText(orderChalan.this, "Data save successfully", Toast.LENGTH_LONG).show();
else
Toast.makeText(orderChalan.this, "Data not Inserted", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(orderChalan.this, "Production ID can not different", Toast.LENGTH_LONG).show();
}
}
}
我选择第一行并获得生产ID值 之后我尝试每次匹配表中的用户输入和数据,然后插入表中 如果数据不匹配,那么我会显示错误消息"生产ID不能不同"如果第一次输入没有数据,我还会检查第一次输入;在这种情况下,没有检查。
我得到的错误是"生产ID不能不同" - 我从第二次输入时收到此消息。
有什么建议吗?
答案 0 :(得分:0)
我在描述逻辑。您需要在代码中执行的操作。
答案 1 :(得分:0)
我认为您所描述的问题是由于使用 ==
来比较字符串。 ==
将测试字符串对象/实例是否相同,而不是比较字符串所持有的值。
就是这一行
if (res.getString(4).toString() == CustomerSpinner.getSelectedItem().toString()) {
将一直返回false。
您需要实施 ==
.equals()
那么,就像
那样if ((res.getString(4).toString()).equals(CustomerSpinner.getSelectedItem().toString())) {