这是我的layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/t1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/t2"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/t3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/t4"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/t5"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn2"
/>
</LinearLayout>
这是我的activitymain.java
package com.example.mssqlconnect;
import android.os.Bundle;
import java.sql.*;
import net.sourceforge.jtds.jdbc.*;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import java.sql.*;
import net.sourceforge.jtds.jdbc.*;
public class MainActivity extends Activity {
public class A implements OnClickListener {
@Override
public void onClick(View arg0) {
TextView tv2=(TextView)findViewById(R.id.t2);
TextView tv3=(TextView)findViewById(R.id.t3);
TextView tv4=(TextView)findViewById(R.id.t4);
TextView tv5=(TextView)findViewById(R.id.t5);
tv2.setText("Connected");
Log.i("Android"," MySQL Connect Example.");
Connection conn = null;
try {
String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
tv4.setText("2111");
//test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class;
String connString = "jdbc:jtds:sqlserver://sony-VAIO/sony :1433/androiddata;encrypt=false;user=0cool;password=chevron;instance=SQLEXPRESS;";
//String connString ="jdbc:jtds:sqlserver://(local);instance=MSSQLSERVER";
String username = "0cool";
String password = "chevron";
tv4.setText("222222222");
try{
conn = DriverManager.getConnection(connString,username,password);
//tv5.setText("2423424");
Log.w("Connection","open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from android_data");
//Print the data to the console
while(reset.next()){
Log.w("Data:",reset.getString(1));
// Log.w("Data",reset.getString(2));
//tv.setText(reset.getString(2));
}
conn.close();
}
catch(SQLException e)
{
tv5.setText(e.getMessage());
}
} catch (Exception e)
{
//Log.w("Error connection","" + e.getMessage());
TextView tv1=(TextView)findViewById(R.id.t1);
tv1.setText(e.getMessage());
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.btn2);
btn.setOnClickListener(new A());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我在模拟器中运行此代码时没有收到任何异常或任何错误,请帮助我按计划进行操作。如果有一个替代方法来操纵数据库表中的数据,那么请指导我,我也尝试通过json访问,但后来又没有得到任何数据。
答案 0 :(得分:1)
不要直接从您的应用程序连接到数据库(就像为黑客手持欢迎板一样)。使用网络服务。
答案 1 :(得分:0)
尝试在android之外运行一些webservice调用来验证服务是否正常运行。此外,如果Web服务位于本地计算机上,我将验证是否有任何防火墙/端口问题无法解决。