android sqlserver数据库操作,使用android访问SQLServer数据库

1.SQL驱动

下载可以支持android的SQL驱动,下载地址http://sourceforge.net/projects/jtds/files/ 注意只能下载1.2.7版本。android不支持用高版本的。

将jtds-1.2.7.jar放在android项目libs目录下。

2.开发环境

windows 7 X64

android 4.2

android studio 2.2

3.代码

数据库连接类DBUtil.java

package com.example.androidsql;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class DBUtil

{

private static Connection getSQLConnection(String ip, String user, String pwd, String db)

{

Connection con = null;

try

{

Class.forName("net.sourceforge.jtds.jdbc.Driver");

con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd);

} catch (ClassNotFoundException e)

{

e.printStackTrace();

} catch (SQLException e)

{

e.printStackTrace();

}

return con;

}

public static String QuerySQL()

{

String result = "";

try

{

Connection conn = getSQLConnection("xx.xx.xx.xx", "sa", "123", "DataBaseName");

String sql = "select top 10 * from Users";

Statement stmt = conn.createStatement();//

ResultSet rs = stmt.executeQuery(sql);

while (rs.next())

{

String s1 = rs.getString("UserName");

String s2 = rs.getString("Password");

result += s1 + " - " + s2 + "\n";

System.out.println(s1 + " - " + s2);

}

rs.close();

stmt.close();

conn.close();

} catch (SQLException e)

{

e.printStackTrace();

result += "查询数据异常!" + e.getMessage();

}

return result;

}

public static void main(String[] args)

{

QuerySQL();

} }

MainActivity.java

package com.example.androidsql;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.TextView;

public class MainActivity extends Activity

{

private View btnTest;

private View btnClean;

private TextView tvTestResult;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnTest=findViewById(R.id.btnTestSql);

btnClean=findViewById(R.id.btnClean);

tvTestResult = (TextView)findViewById(R.id.tvTestResult);

btnTest.setOnClickListener(getClickEvent());

btnClean.setOnClickListener(getClickEvent());

}

private View.OnClickListener getClickEvent(){

return new View.OnClickListener()

{

@Override

public void onClick(View v)

{

tvTestResult.setText("...");

if(v==btnTest){

test();

}

}

};

}

private void test()

{

Runnable run = new Runnable()

{

@Override

public void run()

{

String ret = DBUtil.QuerySQL();

Message msg = new Message();

msg.what=1001;

Bundle data = new Bundle();

data.putString("result", ret);

msg.setData(data);

mHandler.sendMessage(msg);

}

};

new Thread(run).start();

}

Handler mHandler = new Handler(){

public void handleMessage(android.os.Message msg) {

switch (msg.what)

{

case 1001:

String str = msg.getData().getString("result");

tvTestResult.setText(str);

break;

default:

break;

}

};

};

}

activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

android:id="@+id/btnTestSql"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/testSQL"/>

android:id="@+id/btnClean"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:text="@string/clean"/>

android:id="@+id/tvTestResult"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/btnTestSql"

android:text="@string/hello_world" />

string.xml

AndroidSQL

Settings

Hello world!

测试SQL

清除数据

最后如果出现连接数据错误信息 空指针错误,则需要在AndroidManifest.xml中加入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值