怎么读取数据库中数据

发布网友 发布时间:2022-04-23 22:53

我来回答

2个回答

懂视网 时间:2022-05-03 15:40

package com.example.e18;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v4.widget.CursorAdapter;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener,TextWatcher{
private TextView tv;
private final String DATABASE_PATH=android.os.Environment.
getExternalStorageDirectory().getAbsolutePath()+"/dictionary";
private AutoCompleteTextView word;
private final String DATABASE_FILENAME="dictionary.db";
private SQLiteDatabase database;
private Button searchWord;
private TextView showResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// tv=(TextView)findViewById(R.id.textView1);
// tv.setText(DATABASE_PATH);
database=openDatabase();
searchWord=(Button)findViewById(R.id.searchWord);
word=(AutoCompleteTextView)findViewById(R.id.word);
searchWord.setOnClickListener(this);
word.addTextChangedListener(this);
showResult=(TextView)findViewById(R.id.result);
}

public class DictionaryAdapter extends CursorAdapter{
private LayoutInflater layoutInflater;

public CharSequence convertToString(Cursor cursor){
return cursor==null ? "" : cursor.getString(cursor.getColumnIndex("_id"));
}

private void setView(View view,Cursor cursor){
TextView tvWordItem=(TextView)view;
tvWordItem.setText(cursor.getString(cursor.getColumnIndex("_id")));
}

public DictionaryAdapter(Context context, Cursor c,boolean autoRequery) {
super(context, c,autoRequery);
layoutInflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public void bindView(View arg0, Context arg1, Cursor arg2) {
setView(arg0,arg2);

}

@Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
View view=layoutInflater.inflate(R.layout.word_list.item, null);
setView(view,arg1);
return view;
}

}


private SQLiteDatabase openDatabase(){
String databaseFilename=DATABASE_PATH+"/"+DATABASE_FILENAME;
File dir=new File(DATABASE_PATH);
if(!dir.exists()){
dir.mkdir();
}
if(!(new File(databaseFilename).exists())){
InputStream is=getResources().openRawResource(R.raw.dictionary);
FileOutputStream fos=new FileOutputStream(databaseFilename);
byte[] buffer=new byte[8192];
int count=0;
while((count=is.read(buffer))>0){
fos.write(buffer,0,count);
}
fos.close();
is.close();
}
SQLiteDatabase database=SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);

return database;

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable s) {
String sql="select english as _id from t_words where english like ?";

Cursor cursor=database.rawQuery(sql, new String[]{s.toString()+"%"});
DictionaryAdapter dictionaryAdapter=new DictionaryAdapter(this,cursor,true);
word.setAdapter(dictionaryAdapter);

}

@Override
public void onClick(View v) {
String sql="select chinese from t_words where englist=?";
Cursor cursor=database.rawQuery(sql, new String[]{word.getText().toString()});
String result="未找到该单词!";
if(cursor.getCount()>0){
cursor.moveToFirst();
result=cursor.getString(cursor.getColumnIndex("chinese")).replace("&", "&");
}
showResult.setText(word.getText()+" "+result.toString());
}

}

数据库读取方法

标签:class   oid   gets   读取   art   方法   cto   sequence   private   

热心网友 时间:2022-05-03 12:48

1、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql;
2、建立数据库:mysql> CREATE DATABASE 库名;
3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
4、删除数据库:mysql> DROP DATABASE 库名;
5、删除数据表:mysql> DROP TABLE 表名;
6、将表中记录清空:mysql> DELETE FROM 表名;
7、往表中插入记录:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com