如何检查该列是否已经有价值?
How can I check whether the column already has value?
如何检查该列是否已经有值?可以用游标找吗?
我有两个table,一个是tableinfo
另一个是tableworkDetails
Table 信息:ID(PK), Name, Weather, Date, Status, TimeIn_Info, TimeOut_Info
Table 工作详情:ID(PK),Project,WorkDescription,Per,TimeIn,TimeOut // 4 row
我的 WorkDetails 中有 4 行,我只想插入只有值的行。对于 TimeOut_Info
,它将从 TimeOut
中获取,它位于 table WorkDetails
中。如果第 4 行为空,它将转到第 3 行。如果第 3 行中存在 TimeOut
值,它将插入到 table 信息中,并且不会查找第 2 行和第 1 行... .
public void checkRow2(String a, String b, String c, String d) {
if ((TextUtils.isEmpty(a)) && (TextUtils.isEmpty(b)) && (TextUtils.isEmpty(c)) && (TextUtils.isEmpty(d))) {
// Toast.makeText(getApplicationContext(), "Doss", Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), "Row 2 is empty", Toast.LENGTH_LONG).show();
return;
}else if ((a != null && a.trim().length() > 0) && ((TextUtils.isEmpty(b)) && (c != null && c.trim().length() > 0) && (d != null &&
d.trim().length() > 0))) {
WD.insertWorkDetails(a2, a, b, c, d);
Cursor mCursor = database.rawQuery("SELECT TimeOut_Info FROM " + MyDatabaseHelper.TABLE_INFO + " WHERE " +
MyDatabaseHelper.TimeOut_Info + "= '" + d + "'", null);
if (mCursor == null) {
database = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(MyDatabaseHelper.TimeOut_Info, d);
database.insert(MyDatabaseHelper.TABLE_INFO, null, values);
Toast.makeText(getApplicationContext(), "No Per2", Toast.LENGTH_LONG).show();
}
我附加的编码else-if
路径虽然已经满足条件但不起作用。请问是不是检查选中的列是否已经有值的方法?
Cursor cur = databaseb.rawQuery("SELECT COlumn COUNT(*) FROM +MyDatabaseHelper.TABLE_INFO+ ", null);
if (cur.getCount() > 0){
//do nothing everything's as it should be
}
else{
//
}
我试过另一种方法,但还是不行:(
有点难以弄清楚你想做什么,但是如果你有一个 User
table,由 UserId
键控,带有一个可选的(可为空) UserDescription
,并且您想检查特定用户是否有描述,SQL 可以是以下之一:
-- Return non-null value if user has description, null if not, or no record if user not found
SELECT UserDescription
FROM User
WHERE UserId = ?
-- Return 1 if user has description, 0 if not, or no record if user not found
SELECT CASE WHEN UserDescription IS NULL THEN 0 ELSE 1 END AS HasDescription
FROM User
WHERE UserId = ?
-- Return 1 if user has description, or no record if not or if user not found
SELECT 1
FROM User
WHERE UserId = ?
AND UserDescription IS NOT NULL
-- Return 1 if user has description, or 0 if not or if user not found
SELECT COUNT(*)
FROM User
WHERE UserId = ?
AND UserDescription IS NOT NULL
还有更多方法可以做到。
如何检查该列是否已经有值?可以用游标找吗?
我有两个table,一个是tableinfo
另一个是tableworkDetails
Table 信息:ID(PK), Name, Weather, Date, Status, TimeIn_Info, TimeOut_Info
Table 工作详情:ID(PK),Project,WorkDescription,Per,TimeIn,TimeOut // 4 row
我的 WorkDetails 中有 4 行,我只想插入只有值的行。对于 TimeOut_Info
,它将从 TimeOut
中获取,它位于 table WorkDetails
中。如果第 4 行为空,它将转到第 3 行。如果第 3 行中存在 TimeOut
值,它将插入到 table 信息中,并且不会查找第 2 行和第 1 行... .
public void checkRow2(String a, String b, String c, String d) {
if ((TextUtils.isEmpty(a)) && (TextUtils.isEmpty(b)) && (TextUtils.isEmpty(c)) && (TextUtils.isEmpty(d))) {
// Toast.makeText(getApplicationContext(), "Doss", Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), "Row 2 is empty", Toast.LENGTH_LONG).show();
return;
}else if ((a != null && a.trim().length() > 0) && ((TextUtils.isEmpty(b)) && (c != null && c.trim().length() > 0) && (d != null &&
d.trim().length() > 0))) {
WD.insertWorkDetails(a2, a, b, c, d);
Cursor mCursor = database.rawQuery("SELECT TimeOut_Info FROM " + MyDatabaseHelper.TABLE_INFO + " WHERE " +
MyDatabaseHelper.TimeOut_Info + "= '" + d + "'", null);
if (mCursor == null) {
database = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(MyDatabaseHelper.TimeOut_Info, d);
database.insert(MyDatabaseHelper.TABLE_INFO, null, values);
Toast.makeText(getApplicationContext(), "No Per2", Toast.LENGTH_LONG).show();
}
我附加的编码else-if
路径虽然已经满足条件但不起作用。请问是不是检查选中的列是否已经有值的方法?
Cursor cur = databaseb.rawQuery("SELECT COlumn COUNT(*) FROM +MyDatabaseHelper.TABLE_INFO+ ", null);
if (cur.getCount() > 0){
//do nothing everything's as it should be
}
else{
//
}
我试过另一种方法,但还是不行:(
有点难以弄清楚你想做什么,但是如果你有一个 User
table,由 UserId
键控,带有一个可选的(可为空) UserDescription
,并且您想检查特定用户是否有描述,SQL 可以是以下之一:
-- Return non-null value if user has description, null if not, or no record if user not found
SELECT UserDescription
FROM User
WHERE UserId = ?
-- Return 1 if user has description, 0 if not, or no record if user not found
SELECT CASE WHEN UserDescription IS NULL THEN 0 ELSE 1 END AS HasDescription
FROM User
WHERE UserId = ?
-- Return 1 if user has description, or no record if not or if user not found
SELECT 1
FROM User
WHERE UserId = ?
AND UserDescription IS NOT NULL
-- Return 1 if user has description, or 0 if not or if user not found
SELECT COUNT(*)
FROM User
WHERE UserId = ?
AND UserDescription IS NOT NULL
还有更多方法可以做到。