我是Android编程的新手。我正在创建一个应用程序,该应用程序从表 my_table 中的特定行(其中 id = 1 )获取单个字段 Phone 的值并将其分配给String 数字。然后打印该字符串。但该应用程序在获取数据后仍然崩溃。
我从哪里搬?我哪里错了?我错过了什么?
以下是代码。
MainActivity.java
$tables = array("buildings", "medical", "other", "tools", "traps", "weapons");
$tableArr = array();
foreach ($tables as $table) {
// Get tables from database
$sth = $db->query("SELECT * FROM $table");
$result = $sth->fetchAll();
if(isset($result)){
$tableArr[$table] = $result;
}else{
$tableArr[$table] = '';
}
} //End loop
print_r($tableArr);
Output.java
public class MainActivity extends Activity {
SQLiteDatabase db;
EditText pin, phone, email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton btn=(ImageButton)findViewById(R.id.btn);
pin = (EditText)findViewById(R.id.pin);
phone = (EditText)findViewById(R.id.phone);
email = (EditText)findViewById(R.id.email);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SaveData();
Toast.makeText(MainActivity.this,"Info saved!", Toast.LENGTH_SHORT).show();
}
});
}
public void SaveData(){
db = this.openOrCreateDatabase("my_database",MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS my_table(id INTEGER PRIMARY KEY AUTOINCREMENT, Pin varchar,"
+ " Phone varchar, EMail varchar);");
String query = "INSERT INTO my_table (Pin,Phone,EMail) VALUES ('"+pin.getText().toString()+"','"+phone.getText().toString()+"','"+email.getText().toString()+"')";
db.execSQL(query);
Display();
}
void Display(){
Intent Intent=new Intent(MainActivity.this,Output.class);
startActivity(Intent);
}
}
的Manifest.xml
public class Output extends Activity{
TextView phone;
SQLiteDatabase db;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.output);
db = this.openOrCreateDatabase("my_database",MODE_PRIVATE, null);
Cursor csr = db.rawQuery( "SELECT Phone FROM my_table WHERE id = 1", null);
String number = csr.toString();
db.execSQL(number);
phone.setText(number);
}
}
logcat的:
java.lang.RuntimeException:无法启动活动ComponentInfo {com.ali.readonefield / com.ali.readonefield.Output}:android.database.sqlite.SQLiteException:near“android”:语法错误(代码1): ,同时编译:android.database.sqlite.SQLiteCursor@42a2c6b0
答案 0 :(得分:0)
试试这个:
String number = csr.getString(csr.getColumnIndex("columnName"));
答案 1 :(得分:0)
$res= $mysqli->query("SELECT titre FROM Bibliographie WHERE Nom_Auteur LIKE '%$auteur%'");
$result = array();
while ($row=$res->fetch_assoc()) {
$result[] = $row['titre'];
}
var_dump($result);
// simple and easy to understand