亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

1,用execSQL語句怎么把edittext的內容插入到表中呢?2,為什么輸入關閉數據庫的語句Logcat就會出錯?

package com.example.lianxi;

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.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;


public class MainActivity extends Activity {

EditText e1,e2,e3;

Button b1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

e1=(EditText)findViewById(R.id.e1);

e2=(EditText)findViewById(R.id.e2);

e3=(EditText)findViewById(R.id.e3);

b1=(Button)findViewById(R.id.insert);

? ?final SQLiteDatabase db=openOrCreateDatabase("user2.db", MODE_PRIVATE, null);

db.execSQL("create table if not exists usertb2(_id integer primary key autoincrement,name text not null,sex text not null,age integer not null)");

? ? ? ??

b1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

String a=e1.getText().toString();

String b=e2.getText().toString();

int c=Integer.parseInt(e3.getText().toString());

ContentValues values=new ContentValues();

values.put("age", c);

values.put("sex", b);

values.put("name", a);

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

//db.execSQL("insert into userdb1(name,sex,age)values(a,b,11)");

//1,用execSQL語句怎么把edittext的內容插入到表中呢?

? ?values.clear();

}

});

db.close();//2,為什么輸入關閉數據庫的語句Logcat就會出錯?

}

}


正在回答

6 回答

把創建數據庫的方法放到點擊事件中去

0 回復 有任何疑惑可以回復我~

很感激你,第二個問題解決了,但是第一個問題我按你說將close()方法放到點擊事件里面的結尾,然后運行程序就會彈出Debug的結果,有個Breakpoints說ArrayIndexOutOfBoundsException:caught and uncaught

0 回復 有任何疑惑可以回復我~

第一個問題:將close()方法放到點擊事件里面的結尾去寫就OK了;

第二個問題:sql語句有問題,應改為db.execSQL("insert into usertb2(name, sex, age) values('"+a+"','"+b+"',"+c+")");

0 回復 有任何疑惑可以回復我~

那個插入語句我用Contentvalues的方法插入了,最重要的問題是第二個,輸入關閉數據庫的語句Logcat就會出錯?????

0 回復 有任何疑惑可以回復我~

你的 數據庫 表名 ?出錯了 ! 創建的和插入的不一致!改一下試試吧!!


0 回復 有任何疑惑可以回復我~
#1

Kinglon 提問者

哦,execSQL語句哪里確實忘記改了,不過改了那個表名,也還是錯誤的,還是用execSQL語句插入就出錯,格式不知道怎么寫?我主要是想把a,b,c 這三個值通過execSQL語句插入表中,但是Logcat出錯的,這是回復第一個問題。
2016-04-03 回復 有任何疑惑可以回復我~

新手一個!我也沒看出來有什么問題,希望可以再點解決??!

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第3季)
  • 參與學習       74894    人
  • 解答問題       444    個

手勢識別、數據存儲和4大組件,讓你牢牢掌握之前的基礎知識點

進入課程

1,用execSQL語句怎么把edittext的內容插入到表中呢?2,為什么輸入關閉數據庫的語句Logcat就會出錯?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號