比如说,我们创建了一个表格:
create table notes (_id integer primary key autoincrement, created_date date)
Run Code Online (Sandbox Code Playgroud)
要插入记录,我会使用
ContentValues initialValues = new ContentValues();
initialValues.put("date_created", "");
long rowId = mDb.insert(DATABASE_TABLE, null, initialValues);
Run Code Online (Sandbox Code Playgroud)
但是如何将date_created列设置为now?为了说清楚,
initialValues.put("date_created", "datetime('now')");
Run Code Online (Sandbox Code Playgroud)
不是正确的解决方案.它只是将列设置为"datetime('now')"文本.
任何人都可以告诉我这是什么.我在数据库中添加数据时出现此错误.它只发生在一个特定的行上.我试着通过互联网找到答案或理由.但是徒劳无功 截图

public void FunSetVisitorDetails(String strResult) {
Log.d(TAG, "Get Visitor Details started.");
if (!strResult.equalsIgnoreCase("NA") && !strResult.equalsIgnoreCase("NI")) {
SQLiteDatabase database = getWritableDatabase();
database.delete("TBL_VISITOR_MASTER", null, null);
String[] strResultData = strResult.split("#");
for (int index = 0; index < strResultData.length; index++) {
String[] strRowData = strResultData[index].split(",");
ContentValues values = new ContentValues();
values.put("VISITORID", strRowData[0]);
values.put("MEMBERID", strRowData[1]);
values.put("TEAMID", strRowData[2]);
values.put("CATEGORY", strRowData[3]);
values.put("NAME", strRowData[4]);
values.put("COMPNAME", strRowData[5]);
values.put("SPECIALIZED1", strRowData[6]);
values.put("SPECIALIZED2", strRowData[7]);
values.put("SPECIALIZED3", strRowData[8]);
values.put("SPECIALIZED4", strRowData[9]);
values.put("SPECIALIZED5", strRowData[10]);
values.put("CLIENT1", strRowData[11]);
values.put("CLIENT2", strRowData[12]);
values.put("CLIENT3", strRowData[13]);
values.put("CLIENT4", strRowData[14]);
values.put("CLIENT5", strRowData[15]);
values.put("ASK", …Run Code Online (Sandbox Code Playgroud) 我正在尝试将数据插入 SQLite 数据库,为此我编写了一个简单的方法来插入我从 API 获取的数据,如下所示:
public static ContentValues gameInfoToContentValues(@NonNull GameInfoList game) {
ContentValues values = new ContentValues();
values.put(GameEntry.COLUMN_GAME_ID, game.id());
values.put(GameEntry.COLUMN_GAME_ALIASES, game.aliases());
values.put(GameEntry.COLUMN_GAME_API_DETAIL_URL, game.api_detail_url());
values.put(GameEntry.COLUMN_GAME_DATE_ADDED, game.date_added());
values.put(GameEntry.COLUMN_GAME_DATE_LAST_UPDATED, game.date_last_updated());
values.put(GameEntry.COLUMN_GAME_SMALL_IMAGE, game.image().small_url());
values.put(GameEntry.COLUMN_GAME_MEDIUM_IMAGE, game.image().medium_url());
values.put(GameEntry.COLUMN_GAME_HD_IMAGE, game.image().super_url());
values.put(GameEntry.COLUMN_GAME_NAME, game.name());
values.put(GameEntry.COLUMN_GAME_ORIGINAL_RELEASE_DATE, game.original_game_rating());
return values;
}
Run Code Online (Sandbox Code Playgroud)
我得到最后
game.original_game_rating();
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为它是一个对象列表。
我在方法中作为参数传递的名为“GameInfoList”的对象类如下所示:
public abstract long id();
@Nullable
public abstract String aliases();
@Nullable
public abstract String api_detail_url();
@Nullable
public abstract String date_added();
@Nullable
public abstract String date_last_updated();
@Nullable
public abstract GameImages image();
@Nullable
public abstract String name();
@Nullable
public …Run Code Online (Sandbox Code Playgroud) 我更新我想用搜索corrent POS机inspectionid,activityid,subactivityid但调用更新状态换货即时得到这个error.can有人帮助的时候。
public int updateSubActivityActivityComment(String comment, int rating, int subActivityId, int activityId, int inspectionId){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_RATING, rating);
contentValues.put(KEY_COMMENT, comment);
return db.updateWithOnConflict(TABLE_INSPECTION, contentValues,KEY_SUB_ACTIVITY_ID+ " = ? "+subActivityId+" AND "+KEY_INSPECTION_ID + " = ? "+inspectionId +" AND "+KEY_ACTIVITY_ID +" = ? "+activityId,new String[]{String.valueOf(subActivityId)} ,SQLiteDatabase.CONFLICT_IGNORE);
}
Run Code Online (Sandbox Code Playgroud)
日志猫
java.lang.IllegalArgumentException: Too many bind arguments. 3 arguments were provided but the statement needs 2 arguments.
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:68)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1574)
at …Run Code Online (Sandbox Code Playgroud)