android 通过jdbc连接sql2008 实现添加,删除,修改等功能, 利用jdbc时 需要一个驱动包 我用的是jtds1.2.7.jar 本人通过测试 各个功能都能实现 我用的是android本地模拟机。真机上面还没有测试。
好了 废话不多说 我直接上代码
package com.androidmysqltest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.androidmysqltest1.R;
public class Androidsql extends Activity
{
private Button m_Button ;
private Connection m_con= null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_Button = (Button)findViewById(R.id.button1);
m_Button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
try {
//insert("name","pwd","super"); //上传调用
delete(8); //删除调用
//update("ca","ca",1); //修改调用
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}) ;
}
//添加
public void insert(String a,String b,String c) throws Exception
{
String sql = "INSERT INTO tb_User(UserName,UserPwd,UserRight) VALUES(?,?,?)" ;
PreparedStatement pstmt = null ;
Class.forName("net.sourceforge.jtds.jdbc.Driver"); //加载MYSQL JDBC驱动程序
Log.d("加载驱动", "成功");
m_con =(Connection) DriverManager.getConnection("jdbc:jtds:sqlserver://"+ "175.102.4.147" + ":1433/" + "数据名" ,"用户名", "密码");
try {
pstmt = m_con.prepareStatement(sql) ;
pstmt.setString(1,a);
pstmt.setString(2,b);
pstmt.setString(3,c);
pstmt.executeUpdate();
pstmt.close() ;
} catch (Exception e)
{
// System.out.println(e) ;
throw new Exception("操作中出现错误!!!") ;
} finally
{
m_con.close() ;
}
}
// 删除操作
public void delete(int id) throws Exception {
String sql = "DELETE FROM tb_InStore WHERE ISID=?" ;
PreparedStatement pstmt = null ;
Class.forName("net.sourceforge.jtds.jdbc.Driver"); //加载MYSQL JDBC驱动程序
Log.d("加载驱动", "成功");
m_con =(Connection) DriverManager.getConnection("jdbc:jtds:sqlserver://"+ "175.102.4.147" + ":1433/" + "数据名" ,"用户名", "密码");
try {
pstmt = m_con.prepareStatement(sql) ;
pstmt.setInt(1,id) ;
pstmt.executeUpdate() ;
pstmt.close() ;
} catch (Exception e) {
throw new Exception("操作中出现错误!!!") ;
} finally {
m_con.close() ;
}
}
//修改
public void update(String a,String b,int d) throws Exception {
String sql = "UPDATE tb_User SET UserName=?,UserPwd=? WHERE UserID=?" ;
PreparedStatement pstmt = null ;
Class.forName("net.sourceforge.jtds.jdbc.Driver"); //加载MYSQL JDBC驱动程序
Log.d("加载驱动", "成功");
m_con =(Connection) DriverManager.getConnection("jdbc:jtds:sqlserver://"+ "175.102.4.147" + ":1433/" + "数据名" ,"用户名", "密码");
try {
pstmt = m_con.prepareStatement(sql) ;
pstmt.setString(1,a) ;
pstmt.setString(2,b) ;
pstmt.setInt(3,d) ;
pstmt.executeUpdate();
pstmt.close() ;
} catch (Exception e) {
throw new Exception("操作中出现错误!!!") ;
} finally {
m_con.close() ;
}
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="执行" />
</LinearLayout>
由于需要网络 记得在权限文件里面把 <uses-permission android:name="android.permission.INTERNET"></uses-permission>加上