我的数据库包含问题,每个问题都有三个选项。一切正常,但是当我尝试随机获取问题和选项时,它给了我错误:
我发现了与我的问题类似的问题,但它也没有起作用,
这是我的代码:
public List<Test> getTest() {
List<Test> MyList = new ArrayList<Test>();
myDB=this.getReadableDatabase();
Cursor cursor = myDB.rawQuery("SELECT * FROM " + My_Table + "ORDER BY RANDOM() LIMIT 1", null);
if (cursor.moveToFirst()) {
do {
Test newQ = new Test();
newQ .setId(cursor.getInt(0));
newQ .setTest(cursor.getString(1));
newQ .setAns(cursor.getString(2));
newQ .setO1(cursor.getString(3));
newQ .setO2(cursor.getString(4));
newQ .setO3(cursor.getString(5));
MyList .add(newQ );
} while (cursor.moveToNext());
}
return MyList ;}
Run Code Online (Sandbox Code Playgroud)
当我将此行添加到我的代码中时:
ORDER BY RANDOM()LIMIT 1
该活动将无法进行。
我一直试图null在条件下进行比较,但它不起作用,总是在Else中.以下是代码,
String authEmail = cursor.getString(cursor.getColumnIndexOrThrow("AUTHOR_EMAIL"));
Log.i(gtag, "author email => " + authEmail);
if (authEmail == null ) {
Log.i(gtag, "in author check - IF NULL");
} else {
Log.i(gtag, "in author check - ELSE ");
}
Run Code Online (Sandbox Code Playgroud)
这cursor是查询SQLite数据库的结果,AUTHOR_EMAIL是列的名称.Logcat将作者电子邮件显示为null,但仍然在ELSE中.以下是Logcat:
06-24 15:30:55.307: I/GCA-Abs-Con(1282): author email => foo@bar.de
06-24 15:30:55.307: I/GCA-Abs-Con(1282): in author check - ELSE
06-24 15:30:55.357: I/GCA-Abs-Con(1282): author email => null
06-24 15:30:55.357: I/GCA-Abs-Con(1282): in author check - ELSE
Run Code Online (Sandbox Code Playgroud)
的logcat的显示第3行authorEmail是null但仍进去else. …
rawQuery字符串搜索给我所有结果,不区分大小写.
我的代码是
String gg="mt";
String cnql = "SELECT DISTINCT sinhala FROM jgd WHERE sinhala LIKE '"+gg+"%' LIMIT 0,40";
Cursor cg=cn.rawQuery(cnql, null);
Run Code Online (Sandbox Code Playgroud)
它输出
"mT考试""mt考试"
我可以在内存中保存sqlite数据库吗?我想将我的数据库保存到手机内存中.
我正在尝试TextViews使用SQLiteDataBase 填充第二个事件.当用户点击该项目时,ListView他/她可以在第二个上查看事件的详细信息,Activity但每当我点击某个事件时它就会崩溃.
MainActivity.java
myList.setAdapter(myCursorAdapter);
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor myCursor = (Cursor) myList.getItemAtPosition(position);
String pickedString = myCursor.getString(1);
Intent intent = new Intent(getApplicationContext(),EventDetails.class);
intent.putExtra("name_var", pickedString);
startActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
DBHelper:
public ArrayList<String> getEvent(String name)
{
ArrayList<String> array_list = new ArrayList<String>();
//hp = new HashMap();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery( "select * from events WHERE name='" +name+"'", null );
res.moveToFirst();
array_list.add(res.getString(res.getColumnIndex(EVENTS_COLUMN_NAME))); …Run Code Online (Sandbox Code Playgroud) 我想找出SQLITE数据库表中的行数,我知道我可以查询使用SELECT COUNT(*) FROM TABLENAME;
但我想使用perl代码获取计数并将其存储到变量中?我可以使用以下代码
my $stmt = qq(SELECT COUNT(*) AS $NUMBEROFROWS FROM TABLENAME)
$rv = $dbh->do($stmt);
Run Code Online (Sandbox Code Playgroud)
要么
my $stmt = qq(SELECT COUNT(*) FROM TABLENAME
$NUMBEROFROWS = COUNT(*) );
$rv = $dbh->do($stmt);
Run Code Online (Sandbox Code Playgroud)
请建议我如何计算SQLITE数据库表中的行数并将值存储到变量中?
TIA
我正在尝试在我的Android应用程序中使用数据库,但是当我启动将使用数据库帮助程序/合同的活动时,它会崩溃.我已经尝试了一些查询验证器,我似乎没有发现任何错误.以下我用来使用我的dbhelper,但第二行导致崩溃.
DBhelper dbHelper = new DBhelper(this);
mDatabase = dbHelper.getWritableDatabase();
Run Code Online (Sandbox Code Playgroud)
我的dbcontract的代码是:
public final class DBcontract {
private DBcontract(){}
public static class DB_table1 implements BaseColumns {
public static final String TABLE_Name = "Timer_table";
public static final String COL_1 = "id";
public static final String COL_2 = "Title";
public static final String COL_3 = "Startvalue";
public static final String COL_4 = "Endvalue";
public static final String COL_5 = "Timer";
}
}
Run Code Online (Sandbox Code Playgroud)
而dbhelper是:
public class DBhelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION …Run Code Online (Sandbox Code Playgroud) 我正在开发我的capstone项目,该项目正在开发Android移动应用程序.该应用程序显示调查问题,用户让其他人回答它.答案存储在SQLite数据库表中.我成功地创建了数据库,从单选按钮获取输入,并持久地将答案存储到表中.表中的每一列代表一个问题的答案.
现在,我需要执行一个COUNT查询来计算每列中具有特定条件的答案数.
例:
SELECT COUNT(KEY_GENDER)
FROM TABLE_ANSWERS
WHERE KEY_GENDER = "Female";
Run Code Online (Sandbox Code Playgroud)
在上面的查询中,KEY_GENDER是性别列,存储的数据是女性还是男性.
TABLE_ANSWERS是表名.
此查询的功能是显示许多女性已经回答了调查.
以下是计数查询代码段,它位于数据库类中:
// count of gender.
public int countGender(){
String colName = "COUNT(" + KEY_GENDER +")" ;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT" + colName + "FROM" + TABLE_ANSWERS + "WHERE" + KEY_GENDER + "=?" + new String[] {"Female"}, null) ;
while (cursor.moveToNext()) {
int colID = cursor.getColumnIndex(KEY_GENDER);
int colID2 = cursor.getColumnIndex(colName);
}
db.close();
cursor.close();
// return count
return cursor.getCount(); …Run Code Online (Sandbox Code Playgroud) 我使用scaffold为名为'pins'的东西生成一个db表,模型和控制器,在表中有一个名为description的字符串列.具体电话是:
rails g scaffold pins description:string
Run Code Online (Sandbox Code Playgroud)
在它生成的pins_controller文件中,它具有以下代码片段:
def index
@pins = Pin.all
end
Run Code Online (Sandbox Code Playgroud)
Pin.all呼叫是否查询数据库中的所有引脚?是.allSQL调用还是Ruby on Rails方法?代码在我的测试网站上运行我只是想了解幕后发生了什么.
我在我的简单 sql 语句的 executeQuery 上有一个 NullPointerException;我认为问题来自与 sqlite 的连接,但我无法弄清楚...
我的java方法:
public Connection connect() throws SQLException {
Connection conn = null;
try {
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:sqlite:sakila.db.sqlite3";
conn = DriverManager.getConnection(url);
System.out.println("Connection to SQLite has been established.");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM FILM LIMIT 10";
stmt.executeQuery(sql);
return conn;
}
Run Code Online (Sandbox Code Playgroud)
这是控制台的结果
Connection to SQLite has been established.
Exception in thread "main" java.lang.NullPointerException …Run Code Online (Sandbox Code Playgroud)