0
我已经在我的computer.and安装了mysql,并且还有码头..我的要求: - 我有一个数据库学生与表名称ari; ARI表是: -Android的MySQL与Java代码没有响应
+----+-------+
| id | name |
+----+-------+
| 22 | Sandy |
+----+-------+
从我的Android程序中,我想从database..I获取它已经这样做了: - MainActivity3.java
public class MainActivity3 extends Activity {
private static final String url = "jdbc:mysql://localhost:3306/student";
private static final String user = "root";
private static final String pass = "root";
TextView tv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.textView1);
Connect();
}
private class Connect extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pass);
String result = "Database connection success\n";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from ari");
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next()) {
result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
}
tv.setText(result);
}
catch(Exception e) {
e.printStackTrace();
tv.setText(e.toString());
}
return response;
}
@Override
protected void onPostExecute(String result) {
tv.setText(result);
}
}
public void Connect() {
Connect task = new Connect();
task.execute();
}
}
但其显示的错误: - -
FATAL EXCEPTION: AsyncTask #1
Process: com.TourBus.info, PID:2
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6661)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:969)
at android.view.View.requestLayout(View.java:16767)
at android.view.View.requestLayout(View.java:16767)
at android.view.View.requestLayout(View.java:16767)
at android.view.View.requestLayout(View.java:16767)
at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:369)
at android.view.View.requestLayout(View.java:16767)
at android.widget.TextView.checkForRelayout(TextView.java:6820)
at android.widget.TextView.setText(TextView.java:3889)
at android.widget.TextView.setText(TextView.java:3728)
at android.widget.TextView.setText(TextView.java:3703)
at com.TourBus.info.MainActivity3$Connect.doInBackground(MainActivity3.java:46)
at com.TourBus.info.MainActivity3$Connect.doInBackground(MainActivity3.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
我有mysql connector.jar
但仍然存在问题?