"本教程介绍如何在Android应用中通过JTDS驱动程序连接到SQL Server 2008 EXPRESS数据库。开发环境包括Windows XP、SQL Server 2008 EXPRESS(混合认证模式)、Eclipse Luna、JDK 1.7、最新版Android SDK以及jtds 1.3.0版本。设备是运行Android 4.4.2系统的三星S4,并使用WiFi网络进行连接。" 在Android应用开发中,有时需要与后端数据库进行交互,例如SQL Server 2008 EXPRESS。JTDS(Java Type 4 JDBC Driver for SQL Server and Sybase)是一个开源的JDBC驱动程序,它允许Java应用程序直接连接到Microsoft SQL Server和Sybase数据库。在这个示例中,我们将使用JTDS驱动程序实现Android应用与SQL Server 2008 EXPRESS的通信。 首先,你需要从SourceForge下载jtds 1.3.0版本的驱动包(http://sourceforge.net/projects/jtds/files/jtds/1.3.0)。将下载的`jtds-1.3.0.jar`文件添加到你的Android项目的`libs`目录中。接下来,在Eclipse中,右键点击项目,选择"Build Path" -> "Configure Build Path" -> "Libraries" -> "Add External JARs",然后选择刚刚添加的`jtds-1.3.0.jar`文件,将其添加到项目的类路径中。 在代码实现上,你需要导入以下Java和Android相关的库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import android.database.SQLException; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; ``` 接下来,创建一个`ConnectTask`类,继承自`AsyncTask`,用于在后台线程执行数据库连接操作,避免阻塞UI线程。在`onCreate`方法中,实例化`ConnectTask`并调用`execute()`方法启动任务。 ```java private class ConnectTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... voids) { String result = ""; try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:jtds:sqlserver://<your_server_address>:<port>/<database_name>", // 替换为实际服务器地址、端口和数据库名 "sa", // SQL Server用户名 "123"); // SQL Server密码 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM <your_table_name>"); // 替换为实际表名 while (rs.next()) { result += "Row: " + rs.getString(1) + ", " + rs.getString(2) + "\n"; // 假设你的表有两列 } rs.close(); stmt.close(); conn.close(); } catch (ClassNotFoundException e) { Log.e("DBConnect", "ClassNotFoundException: ", e); } catch (SQLException e) { Log.e("DBConnect", "SQLException: ", e); } return result; } @Override protected void onPostExecute(String result) { TextView textView = (TextView) findViewById(R.id.textView); // 假设你的布局中有名为textView的控件 textView.setText(result); } } ``` 在`doInBackground`方法中,首先加载JTDS驱动,然后使用`DriverManager.getConnection()`建立连接。一旦连接成功,你可以创建一个`Statement`对象来执行SQL查询。在这个例子中,我们简单地查询了表的所有行。在`onPostExecute`方法中,将查询结果显示在界面上。 确保你的Android设备或模拟器可以访问SQL Server所在的网络,并且配置了正确的服务器地址、端口、数据库名、用户名和密码。在运行应用之前,确保SQL Server配置为允许远程连接,并开启了混合认证模式,以便使用SQL Server身份验证。 这个简单的示例展示了如何在Android应用中使用JTDS驱动连接到SQL Server 2008 EXPRESS数据库并执行基本的查询操作。在实际项目中,你可能需要处理更复杂的查询、事务管理、错误处理以及优化性能等问题。同时,为了提高安全性,建议不要在代码中硬编码敏感信息如用户名和密码,而是采用更安全的方式存储和获取这些信息。
开发环境:xp,数据库SQL Server 2008 EXPRESS 混合认证模式,eclipse-luna,jdk1.7,android sdk 最新版,jtds 1.3.0,真机三星S4系统android 4.42wifi环境
从http://sourceforge.net/projects/jtds/files/jtds/下载1.3.0版
将jtds-1.3.0.jar拷贝到新建工程的libs目录下,导入到工程:工程--->属性--->JAVA Build Path--->Libraries--->add external jars;
下面是例子程序
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import android.database.SQLException;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private String UserName = "sa";
private String Password = "123";
private String Result="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ConnectTask connectTask = new ConnectTask();
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展