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 


      

string.xml 

<?xml version="1.0" encoding="utf-8"?>          AndroidSQL      Settings      Hello world!      测试SQL      清除数据  

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

            

 

更多相关文章

  1. Android系统自带的常用数据库
  2. Android获取设备型号和系统版本号、mac地址、IP、屏幕的分辨率
  3. android版本对应表
  4. Android数据的四种存储方式
  5. Android旋转屏幕不销毁数据的方法
  6. Android各版本的SDK Platforms和API Level
  7. android各版本对应的SDK level(包括android 10)
  8. Android使用SQLiteDatabase直接存取数据与图像
  9. android 数据库操作 GreenDAO 第三方开源项目

随机推荐

  1. android:windowSoftInputMode属性
  2. Android Intent机制实例详解(Activity篇)
  3. Android 性能优化案例
  4. 【Android】窗口机制分析与UI管理系统
  5. handler机制简析
  6. 初窥 Android 模拟器 2.0,这些年来最大最
  7. Android - 小功能 - Android短信功能实现
  8. Android主题与Toolbar样式之间的关系
  9. android 修改properties属性最大长度
  10. android 发送短信的两种方式,以及接收报告