gpt4 book ai didi

android - 如何在比较用户在android中输入的值时忽略数据库中的空值

转载 作者:行者123 更新时间:2023-11-30 03:32:49 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中保存用户信息。我有员工编号 editText 和公司 EditText。我的员工编号不是必填字段,这意味着我的表可以有空值。我的问题是,当我比较用户输入的员工编号是否已存在于我的数据库中时,当用户未在员工编号 editText 上输入任何内容时,它也会读取空值。谁能帮我做这个吗?

这是我的代码,我将所有员工编号保存在数组列表中并删除所有空值

ArrayList<String> employeenumber = databaseAdapter.getEmployeeNumber();
employeenumber.removeAll(Collections.singleton(null));
employeenumber.removeAll(Collections.singleton(""));

我想做的是,如果用户输入员工编号,它会检查 arraylist 是否包含它,如果是,它会检查对应的公司。我需要捕获重复条目。比如员工号是1234,公司是ABCD,程序一定不能接受。感谢任何可以帮助我的人。

最佳答案

首先检查用户是否在员工编号editText 上输入了一些内容。然后使用 int 标志进行比较。在您的主要 Activity 中尝试以下代码:

int flag1 = 0;
if (!Emp.equals(""))
{
ArrayList<String> CompanyandEmp = new ArrayList<String>();
CompanyandEmp = databaseAdapter.getCompanyEmp(Emp);
CompanyandEmp.removeAll(Collections.singleton(""));
for(int i=0;i< CompanyandEmp.size();i++)
{
String cmpemp = CompanyandEmp.get(i).toString();
if(cmpemp.equalsIgnoreCase(companyName))
{
flag1 = 1;
}
}
}

if (flag1 == 0)
{
//as per your requirement
}else{
Toast.makeText(RegistrationActivity.this, "Account info already exist.", Toast.LENGTH_LONG).show();
}

然后在你的数据库适配器中:

public ArrayList<String> getCompanyEmp(String emp) {

SQLiteDatabase db = this.getReadableDatabase();
ArrayList<String> companyemp = new ArrayList<String>();

try {
Cursor c = db.query("select CompName FROM projsitemast where Emp='"+emp+"'", null);
if (c != null) {
c.moveToFirst();
for (int j = 0; j < c.getCount(); j++) {
companyemp.add(c.getString(0));
c.moveToNext();
}
c.close();
}
return companyemp;
} catch (Exception e) {
e.printStackTrace();
}
return companyemp;
}

关于android - 如何在比较用户在android中输入的值时忽略数据库中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com