当前位置: 首页 > 知识库问答 >
问题:

正在更新sqlite-near“where”:语法错误(代码1 SQLITE_ERROR):

金晗日
2023-03-14

我最近在我的SQLite数据库中添加了一个列,由于添加了这个列,我有一个按钮,它将一个数据库列的值设置为“1”或“0”,当这个按钮尝试使用updateData()时,我的应用程序开始崩溃,所以我认为这是我的问题所在,是updateData()的代码或语法问题

显示错误=

android.database.sqlite.sqliteException:near“WHERE”:语法错误(代码1 SQLITE_ERROR):,编译时:UPDATE my_manager SET location_name='blarney stone',location_county='cork',location_description='jj',location_route='1',location_position='2',location_longg='null',location_lat='null',location_url='jj',location_url2='jj',location_url3

 void updateData(String id, String row_id, String name, String county, String description, String 
  in_route, String position, String lat, String longg, String url, String url2, String url3) {
    System.out.println(TABLE_NAME+"; "+row_id +"; "+ name +"; "+ county+"; "+ description+"; " + lat 
   +"; "+ longg+"; "+ url +"; "+ url2 +"; "+ url3 +"; ");
    SQLiteDatabase db = this.getReadableDatabase();
    db.execSQL("UPDATE " + "my_manager" + " SET location_name = "+"'"+ name + "' " + ", " +
            "location_county = " + "'"+ county + "'"+ "," +
            "location_description = " + "'"+ description +  "'" + "," +
            "location_route = " + "'"+ in_route +  "'" + "," +
            "location_position = " + "'"+ position +  "'" + "," +
            "location_longg = " + "'"+ longg +  "'" + "," +
            "location_lat = " + "'"+ lat +  "'" + "," +
            "location_url = " + "'"+ url +  "'" + "," +
            "location_url2 = " + "'"+ url2 +  "'" + "," +
            "location_url3 = " + "'"+ url3 +  "'" + "," + " WHERE location_id = "+"'"+ row_id+"'");

共有1个答案

邬浩涆
2023-03-14

对不起,我的朋友,不要认为这是一个坏的,但你如何避免很多不必要的“+”,如果可能的话。

void updateData("UPDATE my_manager SET location_name = '"+ name + "', " +
            "location_county = '"+ county + "', " +
            "location_description = '"+ description +  "'," +
            "location_route = '"+ in_route +  "', " +
            "location_position = '" + position + "', " +
            "location_longg = '" + longg + "'," +
            "location_lat = '" + lat +  "'," +
            "location_url = '" + url +  "', " +
            "location_url2 = '"+ url2 +  "', " +
            "location_url3 = '"+ url3 +  "' WHERE location_id = '"+ row_id+"'");
 类似资料:
  • 我有一个方法,如果检查两个文本字段存在,然后重新调整记录ID。我方法是这样的: 我的桌子是这样的: 现在,当我运行该方法时,就像getQueryMatch(Mystr1,Mystr2); 我有一个错误: 我的select查询看起来很正常,但我不知道问题出在哪里?

  • 我的SQL语句语法有问题,LogCat说问题就在哪里。我哪里错了? 下面是我的代码: 任何帮助或建议都将欣然接受,这是我的项目的最后一块拼图。当我做完这件事我就可以Rest了。提前道谢。

  • 我正在使用SQLiteHelper创建一个数据库,当应用程序尝试运行时,我不断收到异常。 这是我收到的错误消息:引起原因:android.database.sqlite.SQLiteExcture:附近"Trip":语法错误(代码1):,而编译:创建表商务旅行支出(desc文本主键,餐整数不为空,饮料整数不为空,旅行整数不为空,住宿整数不为空,其他整数不为空,Receipt_Retained?Re

  • E/SqliteDatabase(6729):Android.database.sqlite.sqliteException:“CREATE”附近:语法错误(代码1):,编译时:插入到创建表关系(_id整数主键自动增量,名称文本不为NULL,电子邮件文本不为NULL,年代文本不为NULL,位置文本不为NULL);(电子邮件,名称,年代,位置)值(?,?,?,?) DbManager类 从插入类中,

  • 我创建DbManger类来处理Sqlite数据库操作,我尝试在数据库中插入值,但它给出了一个错误 E/SQLiteDatabase(6729):android.database.sqlite.SQLiteExcture:近"CREATE":语法错误(代码1):,编译时: INSERT INTO CREATE表关系(_idINTEGER主键自动输入,名称文本不为空,电子邮件文本不为空,年龄文本不为空

  • 我遇到了一个奇怪的问题。我正在查询数据库表中的单词列表,并能够获得该列表。但是我无法更新该表。奇怪的是,logcat显示Code 14错误。我卸载了应用程序,重新运行它,所以数据库是新复制的,但是什么都没有改变。 以下是dbHandler代码: } 这是服务代码: 字符串兽医显示在烤面包中,我可以看到表格第一列中的所有单词。但是我无法更新行。 我已经给了它存储权限,并对其进行了双重检查。 清单文件