Java 如何将当前日期对应的数据从Sqlitedatabase读入setText
这是我的DatabaseCreator.java文件Java 如何将当前日期对应的数据从Sqlitedatabase读入setText,java,android,sqlite,Java,Android,Sqlite,这是我的DatabaseCreator.java文件 package com.example.myapp; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.content.Context; import android.database.Cursor; import andro
package com.example.myapp;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DataBaseCreator extends SQLiteOpenHelper {
private static String DB_PATH = "/data/data/com.example.myapp/databases/people.db";
private static String DB_NAME = "people.db";
private static int DB_VERSION = 1;
public static String DATABASE_TABLE = "people_table";
public String temp = "";
private SQLiteDatabase myDataBase;
private final Context myContext;
public DataBaseCreator(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.myContext = context;
}
public void openDataBase(String date) throws SQLException {
// Open the database
String myPath = "/data/data/com.example.myapp/databases/people.db";
myDataBase = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READONLY);
passText(date);
}
public final String passText(String date) {
Cursor cursor = myDataBase.query(DATABASE_TABLE, null, null, null,
null, null, null);
cursor.moveToFirst();
temp += cursor.getString(1);
return temp;
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
public class Activity6 extends AppCompatActivity {
ArrayList<String > listItem;
ArrayAdapter <String> adapter;
ListView userList;
DatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_6);
TextView textView;
TextView textview2;
textView = findViewById(R.id.TextView2);
textview2 = findViewById(R.id.textViewsecond);
Calendar cal = Calendar.getInstance();
int currentyear = cal.get(Calendar.YEAR);
int currentmonth = cal.get(Calendar.MONTH);
int currentday = cal.get(Calendar.DAY_OF_MONTH);
String arr[]= {"January", "February","March", "April", "May", "June","July", "August","September","October","November","December"};
String str1 = Integer.toString(currentday);
String str2 = arr[currentmonth];
String str3 = Integer.toString(currentyear);
String str4 = str1 + " "+ str2 + " "+ str3;
DataBaseCreator myDbHelper = new DataBaseCreator(this);
myDbHelper.openDataBase(str4);
textView.setText(String.valueOf(str4));
textview2.setText(myDbHelper.temp);
}
}
这是我的Activity6.java文件
package com.example.myapp;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DataBaseCreator extends SQLiteOpenHelper {
private static String DB_PATH = "/data/data/com.example.myapp/databases/people.db";
private static String DB_NAME = "people.db";
private static int DB_VERSION = 1;
public static String DATABASE_TABLE = "people_table";
public String temp = "";
private SQLiteDatabase myDataBase;
private final Context myContext;
public DataBaseCreator(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.myContext = context;
}
public void openDataBase(String date) throws SQLException {
// Open the database
String myPath = "/data/data/com.example.myapp/databases/people.db";
myDataBase = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READONLY);
passText(date);
}
public final String passText(String date) {
Cursor cursor = myDataBase.query(DATABASE_TABLE, null, null, null,
null, null, null);
cursor.moveToFirst();
temp += cursor.getString(1);
return temp;
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
public class Activity6 extends AppCompatActivity {
ArrayList<String > listItem;
ArrayAdapter <String> adapter;
ListView userList;
DatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_6);
TextView textView;
TextView textview2;
textView = findViewById(R.id.TextView2);
textview2 = findViewById(R.id.textViewsecond);
Calendar cal = Calendar.getInstance();
int currentyear = cal.get(Calendar.YEAR);
int currentmonth = cal.get(Calendar.MONTH);
int currentday = cal.get(Calendar.DAY_OF_MONTH);
String arr[]= {"January", "February","March", "April", "May", "June","July", "August","September","October","November","December"};
String str1 = Integer.toString(currentday);
String str2 = arr[currentmonth];
String str3 = Integer.toString(currentyear);
String str4 = str1 + " "+ str2 + " "+ str3;
DataBaseCreator myDbHelper = new DataBaseCreator(this);
myDbHelper.openDataBase(str4);
textView.setText(String.valueOf(str4));
textview2.setText(myDbHelper.temp);
}
}
package com.example.myapp;
导入androidx.appcompat.app.appcompat活动;
导入android.content.Context;
导入android.database.Cursor;
导入android.database.SQLException;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLiteException;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.OutputStream;
导入java.util.ArrayList;
导入java.util.Calendar;
公共类活动6扩展了AppCompatActivity{
ArrayList列表项;
阵列适配器;
ListView用户列表;
数据库辅助数据库;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_6);
文本视图文本视图;
文本视图文本视图2;
textView=findViewById(R.id.TextView2);
textview2=findViewById(R.id.textViewsecond);
Calendar cal=Calendar.getInstance();
int currentyear=cal.get(日历年);
int currentmonth=cal.get(日历月);
int currentday=cal.get(日历日/月);
字符串arr[]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
字符串str1=Integer.toString(currentday);
字符串str2=arr[currentmount];
字符串str3=Integer.toString(当前年份);
字符串str4=str1+“”+str2+“”+str3;
DataBaseCreator myDbHelper=新的DataBaseCreator(此);
openDataBase(str4);
textView.setText(String.valueOf(str4));
textview2.setText(myDbHelper.temp);
}
}
我的数据库包含:
第1列-id,第2列-日期,第3列-任务
我需要的输出:
我作为str4传递的日期(也是数据库中第二列的值)必须用于从第三列获取任务(我正试图在passtext()中执行此操作)
请帮助为什么不使用“选择…从…从…何处…”编写正确的Sql查询?谢谢!当我给它:`int num=1;字符串数据=整数.toString(num);SQLiteDatabase db=this.getWritableDatabase();Cursor cursor1=db.rawQuery(“从people_表中选择*,其中ID='data',null);返回游标1;=>游标1中没有返回任何内容,而当我给出ID=1时,将返回相应的行。请阅读文档,了解如何处理查询中的参数。