【发布时间】:2014-04-18 12:25:59
【问题描述】:
我在 Windows 中使用 Eclipse,我想连接到 MySql DB。 我知道我应该使用 JDBC。但是我不知道怎么用!
我已经从 JDBC download page 下载了 msi 和 zip 文件。
在 zip 文件中,存在一个具有此名称的文件:mysql-connector-java-5.1.30-bin.jar 我该怎么办?
我的意思是我在哪里复制/导入(在文件夹或 Eclipse 中)这个文件?
请注意,我有这个代码:
import android.os.Bundle;
import android.app.Activity;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import android.os.AsyncTask;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class LearningActivity extends Activity {
private static final String url = "jdbc:mysql://cool/app";
private static final String user = "user";
private static final String pass = "password";
private Button button;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)this.findViewById(R.id.button1);
tv = (TextView)this.findViewById(R.id.textView1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Connect();
}
});
}
public void Connect() {
Connect task = new Connect();
task.execute();
}
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 users");
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next()) {
result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
}
tv.setText(result);
}
catch(Exception e) {
e.printStackTrace();
tv.setText(e.toString());
}
return response;
}
@Override
protected void onPostExecute(String result) {
tv.setText(result);
}
}
}
但我收到此错误:ClassNotFoundException:com.mysql.jdbc.Driver
【问题讨论】:
-
你是用maven/ant之类的系统编译还是这个独立项目?
-
@DeepakBala :不,这是一个独立的项目。我用 AVD 运行它。
-
AVD ?这是一个安卓项目?你在你的 android 项目中看到一个名为
libs的文件夹吗?你把罐子放在那里了吗? -
是的,兄弟。这是一个安卓应用程序。 :) 让我检查一下它是否存在...
-
没有。没有像 libs 这样的文件夹。仅存在以下文件夹:src、gen、res 和 assets