为了账号安全,请及时绑定邮箱和手机立即绑定

如果 SQLite 中的值为 null,则跳过插入

如果 SQLite 中的值为 null,则跳过插入

守着一只汪 2021-11-11 18:02:25
在插入到 Android SQLite 数据库时,我想跳过用户未填写的值。但我收到空指针异常。在我的 DBHelper 类中,我尝试了 "... NOT NULL" 并且没有 not null 选项,但我认为这不是解决方案。 public void addToDb(View view) {    SharedPreferences sharedPreferences = getSharedPreferences("entry",0);    float  lastlatitude = sharedPreferences.getFloat("latitude",0f);    float lastlongitude =  sharedPreferences.getFloat("longitude",0f);    if (mTitleInput.getText().length() == 0 ||            mEntryInput.getText().length() == 0) {        return;    }    try {        Date a = new Date();        SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, ''yy");        String o = sdf.format(a);        title = mTitleInput.getText().toString();        entry = mEntryInput.getText().toString();        dateStr = o;        image = getApplicationContext().getFilesDir().getAbsolutePath() + String.valueOf(System.currentTimeMillis()) + ".jpg";        rating = mRatingBar.getRating();        latitude = lastlatitude;        longitude = lastlongitude;    } catch (NumberFormatException ex) {        Log.e(LOG_TAG, "Failed to parse party size text to number: " + ex.getMessage());    }    // Add to mDb    addNewEntry(title, entry, dateStr, image, rating, latitude, longitude);    //clear UI text fields    mTitleInput.getText().clear();    mEntryInput.getText().clear();}
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

例如,您必须检查它们是否为空

dateStr = o == null ? "" : o;

这将检查是否o为空,如果是,则将 dateStr 设置为空,否则将使用 o。您可以将其用于所有变量。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 281 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信