我在这里做错了什么?我的意思是我得到了这个textview和一个按钮。如果我点击按钮,textview应该改为“连接成功”,但我的代码没有做任何事......我在这里缺少什么?我需要帮助的人:)谢谢
这是我的代码行
package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost;database=SC_DEV;integratedSecurity=true;";
Connection con = DriverManager.getConnection(connectionUrl);
Statement s1 = con.createStatement();
ResultSet rs = s1.executeQuery("SELECT * FROM tblItems");
Button btntest=(Button)findViewById(R.id.btn_test);
if(rs!=null){
btntest.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
checkconnection();
}
private void checkconnection() {
TextView txt=(TextView)findViewById(R.id.txt_test);
txt.setText("Connection Success");
}
});
}
} catch (Exception e)
{
e.printStackTrace();
}
}
答案 0 :(得分:0)
您在logcat中发现了相关的错误:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
您需要检查SQL Server版本的JDBC驱动程序文档。在SQL Server 2000中,JDBC驱动程序类是您指定的。但是,自SQL Server 2005以来,名称应为:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
话虽如此,下面的评论表明你的apk没有包含驱动程序 - 标准的android库只有SQLite数据库驱动程序。如果您还没有这样做,则需要下载合适的驱动程序并将jar文件导入到项目中。请参阅此链接以获取初学者:
如果您在模拟器上进行测试,您可能会发现这很有用:
http://developer.android.com/tools/devices/emulator.html#emulatornetworking
我很遗憾这是我对这个问题的了解程度。