java怎么更改id名_java - 尽管ID已更改为_id,但列'_id'不存在

我已经将我的ID重命名为_id,但仍然得到column '_id' does not exist ...我错过了什么吗?

MyDatabaseelper.javapublic class MyDatabaseHelper extends SQLiteOpenHelper {

public static final int DATABASE_VERSION=1;

public static final String DATABASE_NAME="alm.db";

public static final String TABLE_INFO="Information";

public static final String TABLE_WORKFORCE="WorkForce";

public static final String TABLE_WORKDETAILS="WorkDetails";

public static final String Subcontractors="Subcontractors";

public static final String NumberOfPerson="NumberOfPerson";

public static final String NumberOfHours="NumberOfHours";

public static final String ID="_id";

public static final String TimeIn_Info="timeIn_Info";

public static final String TimeOut_Info="timeOut_Info";

public void onCreate(SQLiteDatabase db) {

db.execSQL("create table " + TABLE_INFO + "(ID INTEGER PRIMARY KEY ,Name TEXT,Weather TEXT, Date DATETIME, Status Text, TimeIn_Info DATE TIME, TimeOut_Info DATETIME)");

db.execSQL("create table " + TABLE_WORKFORCE + "(ID INTEGER PRIMARY KEY ,Subcontractors TEXT,NumberOfPerson INTEGER,NumberOfHours TEXT, TInfo_id INTEGER, FOREIGN KEY(TInfo_id) REFERENCES "+TABLE_INFO+"(ID))");

}

ListDisplay.java

public class ListDisplay extends AppCompatActivity {

InfoAPI sqlcon;

private SimpleCursorAdapter dataAdapter;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.listdisplay1);

sqlcon = new InfoAPI(this);

final String name1 = getIntent().getExtras().getString("name");

BuildList(name1);

}

public void BuildList(String name) {

final String name1 = name;

sqlcon.open();

Cursor cursor=sqlcon.readEntry(name1);

String[] columns=new String[]{

MyDatabaseHelper.Weather,MyDatabaseHelper.Date,MyDatabaseHelper.Status,MyDatabaseHelper.TimeIn,MyDatabaseHelper.TimeOut

};

int[] to=new int[]{

R.id.weather,R.id.date,R.id.status,R.id.in,R.id.out

};

// create the adapter using the cursor pointing to the desired data

//as well as the layout information

dataAdapter = new SimpleCursorAdapter(

this, R.layout.listdispaly,

cursor,

columns,

to,

0);

ListView listView = (ListView) findViewById(R.id.listView1);

// Assign adapter to ListView

listView.setAdapter(dataAdapter);

}

}

InfoAPI.java

public Cursor readEntry(String name)

{

Cursor c=database.rawQuery("SELECT Weather, Date, Status, TimeIn_Info, TimeOut_Info FROM " + MyDatabaseHelper.TABLE_INFO + " WHERE Name = ?", new String[]{String.valueOf(name)}, null);

if (c != null) {

c.moveToFirst();

}

return c;

}

}

LogCat错误

Caused by: java.lang.IllegalArgumentException: column '_id' does not exist

at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:333)

at android.widget.CursorAdapter.init(CursorAdapter.java:180)

at android.widget.CursorAdapter.(CursorAdapter.java:157)

at android.widget.ResourceCursorAdapter.(ResourceCursorAdapter.java:96)

at android.widget.SimpleCursorAdapter.(SimpleCursorAdapter.java:104)

at com.example.project.project.ListDisplay.BuildList(ListDisplay.java:49)

at com.example.project.project.ListDisplay.onCreate(ListDisplay.java:31)

at android.app.Activity.performCreate(Activity.java:6237)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)

at android.app.ActivityThread.-wrap11(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)

最佳答案

您创建表查询时仍在使用“ ID”(硬编码字符串)public void onCreate(SQLiteDatabase db) {

db.execSQL("create table " + TABLE_INFO + " ( " + ID + " INTEGER PRIMARY KEY ,Name TEXT,Weather TEXT, Date DATETIME, Status Text, TimeIn_Info DATE TIME, TimeOut_Info DATETIME)");

db.execSQL("create table " + TABLE_WORKFORCE + " ( " + ID + " INTEGER PRIMARY KEY ,Subcontractors TEXT,NumberOfPerson INTEGER,NumberOfHours TEXT, TInfo_id INTEGER, FOREIGN KEY(TInfo_id) REFERENCES "+TABLE_INFO+"(ID))");

}

您将不得不强制升级数据库,要么从设备上完全卸载该应用程序,然后再次重新安装它,要么增加版本。

SimpleCursorAdapter需要光标中的_id。将其添加到查询中,例如

Cursor c=database.rawQuery("SELECT _id, Weather, Date, Status, TimeIn_Info, TimeOut_Info FROM " + MyDatabaseHelper.TABLE_INFO + " WHERE Name = ?", new String[]{String.valueOf(name)}, null);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NTP搭建(原创)

server 127.127.1.0 fudge 127.127.1.0 stratum 11 driftfile /var/lib/ntp/drift broadcastdelay 0.008 上面是自己作为ntp服务器简单配置 server 192.168.1.10 prefer driftfile /var/lib/ntp/drift broadcastdelay 0.008 上面是选择其他服务器作为ntp服务器简单配置 完事后…

疯狂的java 目录_疯狂创客圈 JAVA 高并发 总目录

无编程不创客,疯狂创客圈,一大波编程高手正在交流、学习中!疯狂创客圈: JAVA 高并发 研习社群, QQ群:104131248(已满) 236263776 (请加此群)疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战…

也谈云计算

云计算的介绍和讨论不时见诸于报章网端,但是基本上是各说各话,众说纷纭中让大家仍然感觉云里雾里,不见明路。 本文没有涵盖全部的观点,但却希望提供一种思路,大家共同探讨云的建设。云计算是英文Cloud Computing的翻译…

ubuntu设置静态ip

一、 编辑interfaces文件 (需要修改文件权限) sudo vi /etc/network/interfaces 二、将一下内容添加进去 auto lo iface lo inet loopback auto ens33 iface ens33 inet static address 192.168.0.1(要设置的静态ip) netmas…

车辆入库java程序_java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,...

java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,需要自行制作中心服务器,中心服务器代码在本人另一实例里面,请自行下载【实例简介】扫描入库及出库,基于谷歌类开发.仅提供完整代码【实例截图】【核心代码】//直接…

用phpmyadmin更改root密码的方法

首先用root账号登陆phpmyadmin,然后点击左侧进入mysql数据库,在顶部点击“mysql”进入sql输入界面。输入以下命令: update user set passwordpassword(root) where Userroot root为你希望修改的密码,切记不要在数据库中直接手工修…

Android开发 ---多线程操作:Handler对象,消息队列,异步任务下载

效果图&#xff1a; 1、activity_main.xml 描述&#xff1a;定义了六个按钮 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:id"id/activity_main&quo…

java中的%nf_java中DecimalFormat四舍五入用法详解

DecimalFormat 是 NumberFormat 的一个具体子类&#xff0c;用于格式化十进制数字。它可以支持不同类型的数&#xff0c;包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)这些内容的本地化。下边先介绍下DecimalFormat的用法&#xf…

org.SLF4J

SLF4J不是具体的日志解决方案&#xff0c;它只服务于各种各样的日志系统。按照官方的说法&#xff0c;SLF4J是一个用于日志系统的简单Facade&#xff0c;允许最终用户在部署其应用时使用其所希望的日志系统。 实际上&#xff0c;SLF4J所提供的核心API是一些接口以及一个LoggerF…

生产者与消费者

package ProConDemo; //创建资源 public class Goods { private String name; //计数器 private int count 1; //创建一个标记 private boolean flag; //创建资源的生产行为 public synchronized void Sale(String name) { //判断标记 while(flag) //有资源就等待 try {wait()…

java业务层怎么设计_java – 在业务逻辑和数据层看起来重叠时分解它们的最佳设计?...

我正在构建一个MVC Web应用程序(使用Spring MVC框架),我对设计特定区域的最佳方法感到有些困惑.应用程序必须与一系列Web服务进行交互,这些Web服务并非真正设计得非常完美,并且本身并不提供很多抽象 – 基本上每个创建/更新/检索/删除操作都有一个Web服务方法.每个“数据类型”…

Lunx运维监控_shark巨菜_基础篇

Lunx运维监控_shark巨菜_基础篇一、监控重要性单单从“监控”两个字来谈&#xff0c;范围之广可以涵盖我们生活的方方面面&#xff0c;我们生活和工作中处处可见视频监控的摄像机&#xff1b;机房中的电压电流监控、干湿计、温度计&#xff1b;值班室的网络监控&#xff0c;网站…

ansible for devops读书笔记第一章

yum -y install ansible ansible --versionmkdir /etc/ansible touch /etc/ansible/hosts[example]   www.example.com ansible example -m ping -u [username]ansible example -a "free -m" -u [username]转载于:https://www.cnblogs.com/guxiaobei/p/8250988.htm…

java项目皮肤包_java swing项目皮肤包+使用方法说明

这是java swing项目皮肤包使用方法说明下载&#xff0c;项目可用的皮肤包&#xff0c;总共四个&#xff0c;自己下载总结的&#xff0c;包含使用代码说明。直接在main函数最开始加入说明代码即可使用~~~加入代码后记得处理异常&#xff01;软件介绍java swing项目皮肤包使用方法…

Oracle中sys和system的区别

1.数据库的启动需要以SYSDBA/SYSOPER身份登录。 2.如果在同一主机上使用IPC连接到数据库使用操作系统授权&#xff0c;登录任何一个用户都可以拥有as sysdba和as sysoper。 3.sys和system用户的区别 SYS用户具有DBA权限&#xff0c;并具有SYS模式。只能通过SYSDBA登录数据库&am…

引用和指针区别

1.引用是一个已存在对象的别名&#xff0c;必须被初始化&#xff0c;且所指对象唯一。 指针本身就是一个对象&#xff0c;可以为空值&#xff0c;能够指向不同的对象。 2.引用本质上是被限制的指针。更安全&#xff0c;更可靠。转载于:https://www.cnblogs.com/Chixinyang/p/82…

WinXP的EFS加密文件如何解密?

根据网上流传的资料&#xff0c;EFS&#xff08;Encrypting File System&#xff09;EFS加密是基于公钥策略的。在使用EFS加密一个文件或文件夹时&#xff0c;系统首先会生成一个由伪随机数组成的FEK(File Encryption Key&#xff0c;文件加密钥匙)&#xff0c;然后将利用FEK和…

关于滚动条出现页面跳动问题

二、CSS3计算calc和vw单位巧妙实现滚动条出现页面不跳动 很简单&#xff0c;只要一行代码就搞定了&#xff1a; .wrap-outer {margin-left: calc(100vw - 100%); } 或者&#xff1a; .wrap-outer {padding-left: calc(100vw - 100%); } 然后就可以庆祝放鞭炮啦&#xff01;&…

JAVA生产环境验证_Java生产环境下性能监控与调优详解

本课程将为你讲解如何在生产环境下对Java应用做性能监控与调优&#xff1b;通过本课程&#xff0c;你将掌握多种性能监控工具应用&#xff0c;学会定位并解决诸如内存溢出、cpu负载飙高等问题&#xff1b;学会线上代码调试&#xff0c;Tomcat、Nginx&#xff0c;GC调优等手段&a…

17款漂亮的 HTML5 网站模板免费下载

在过去的几年&#xff0c;设计师们已开始关注和使用 HTML5 了&#xff0c;如今 HTML5 得到了更加广泛的应用。今天&#xff0c;本文与大家分享17款免费的 HTML5 网站模板&#xff0c;看看有没自己喜欢的。 1- Smart Net 免费下载 2- Photo Art 免费下载 3- The Art Of Business…