猿问

SQLite运行出错,以下是源代码


import android.app.Activity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;


public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

SQLiteDatabase db = openOrCreateDatabase("stu.db", MODE_PRIVATE, null);

// 即只能存储int类型,写成integer比int更好;autoincrement即组件自增

db.execSQL("create table if not exits stutb(_id integer private key autoincrement,name text not null,sex text not null, age text not null)");

/*

* table指表的名字

* nullColumnHack为默认值,null

* values是contentvalue,类似于HashMap

*/

ContentValues values=new ContentValues();

values.put("name","张三");

values.put("sex", "男");

values.put("age", 19);

//db.insert("stutb", null, values)返回long值,可以赋值,有用再用,没用也没事

long rowId= db.insert("stutb", null, values);

values.clear();

values.put("name","张三丰");

values.put("sex", "男");

values.put("age", 99);

db.insert("stutb", null, values);

values.clear();

values.put("name","张三疯");

values.put("sex", "男");

values.put("age", 59);

db.insert("stutb", null, values);

values.clear();

values.put("name","张四");

values.put("sex", "男");

values.put("age", 29);

db.insert("stutb", null, values);

values.clear();

values.put("name","张五");

values.put("sex", "男");

values.put("age", 59);

db.insert("stutb", null, values);

values.clear();

values.put("sex", "女");

//查询条件

db.update("stutb", values, "_id>?", new String[]{"3"});//将id大于三的性别全部改成女

db.delete("stutb", "name like?", new String[]{"%丰%"});//删除所有名字中带有丰的人

Cursor c= db.query("studb", null, "_id>?", new String[]{"0"}, null, null, "name");//查询

if (c!=null) {

String[] columns= c.getColumnNames();

while (c.moveToNext()) {

for (String columnName:columns) {

Log.d("Main", c.getString(c.getColumnIndex(columnName)));

}

}c.close();//while之外,进行游标的关闭

}db.close();//if之外,进行db的关闭


}


}



ozjt
浏览 1530回答 2
2回答

Shirey

下次把logcat贴出来更好噢

星箜下

出了什么错,你得把错误代码和你代码里错误的地方贴上来,像这样就贴一大段代码,真的有耐心去看。。。。。。瞄到数据库建表语句,private key写错了,primary key 主键的意思,用来唯一确定一行数据。
随时随地看视频慕课网APP

相关分类

Android
Java
我要回答