为了解决与梧桐数据的交互,查找很多资料,有说可以有说不可以的,众说纷纷,其实可以连接。用android接连sql2008展示可以连接的!之前用了几种方法尝试连接,最后用socket
main.cml
Activity01.java
package com.android.client;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.Socket;
import com.yarin.android.Examples_08_04.R;
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 android.widget.EditText;
import android.widget.TextView;
public class Activity01 extends Activity
{
private final String DEBUG_TAG = "Activity01";
private TextView mTextView=null;
private EditText nameEdit=null;
private Button save=null;
private Button select=null;
private EditText addressEdit=null;
private EditText phoneEdit=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
save = (Button)findViewById(R.id.save);
select=(Button)findViewById(R.id.select);
mTextView=(TextView)findViewById(R.id.TextView01);
nameEdit=(EditText)findViewById(R.id.name);
addressEdit=(EditText)findViewById(R.id.address);
phoneEdit=(EditText)findViewById(R.id.phone);
//登陆
save.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Socket socket = null;
String name=nameEdit.getText().toString();
String address=addressEdit.getText().toString();
String phone=phoneEdit.getText().toString();
String message = name + "\n"+address+"\n"+phone+"\n";
try
{
//创建Socket
socket = new Socket("192.168.0.7",54321);
//向服务器发送消息
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
//接收来自服务器的消息
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = br.readLine();
if ( msg != null )
{
mTextView.setText(msg);
}
else
{
mTextView.setText("数据错误!");
}
//关闭流
out.close();
br.close();
//关闭Socket
socket.close();
}
catch (Exception e)
{
// TODO: handle exception
Log.e(DEBUG_TAG, e.toString());
}
}
});
select.setOnClickListener(new OnClickListener()
{
public void onClick(View v){}
});
}
}
服务端:
主类:Server.java
数据类:ConSQL.java
main.cml
<?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" > <TextView android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="这里显示接收到服务器发来的信息" /> <EditText android:id="@+id/name" android:text="名字" android:layout_width="fill_parent" android:layout_height="wrap_content"> </EditText> <EditText android:id="@+id/address" android:text="输入address" android:layout_width="fill_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> <EditText android:id="@+id/phone" android:text="123456" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:id="@+id/save" android:layout_width="154dp" android:layout_height="wrap_content" android:text="保存" /> <Button android:id="@+id/select" android:layout_width="154dp" android:layout_height="wrap_content" android:text="查询" /> </LinearLayout> </LinearLayout>
Activity01.java
package com.android.client;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.Socket;
import com.yarin.android.Examples_08_04.R;
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 android.widget.EditText;
import android.widget.TextView;
public class Activity01 extends Activity
{
private final String DEBUG_TAG = "Activity01";
private TextView mTextView=null;
private EditText nameEdit=null;
private Button save=null;
private Button select=null;
private EditText addressEdit=null;
private EditText phoneEdit=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
save = (Button)findViewById(R.id.save);
select=(Button)findViewById(R.id.select);
mTextView=(TextView)findViewById(R.id.TextView01);
nameEdit=(EditText)findViewById(R.id.name);
addressEdit=(EditText)findViewById(R.id.address);
phoneEdit=(EditText)findViewById(R.id.phone);
//登陆
save.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Socket socket = null;
String name=nameEdit.getText().toString();
String address=addressEdit.getText().toString();
String phone=phoneEdit.getText().toString();
String message = name + "\n"+address+"\n"+phone+"\n";
try
{
//创建Socket
socket = new Socket("192.168.0.7",54321);
//向服务器发送消息
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
//接收来自服务器的消息
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = br.readLine();
if ( msg != null )
{
mTextView.setText(msg);
}
else
{
mTextView.setText("数据错误!");
}
//关闭流
out.close();
br.close();
//关闭Socket
socket.close();
}
catch (Exception e)
{
// TODO: handle exception
Log.e(DEBUG_TAG, e.toString());
}
}
});
select.setOnClickListener(new OnClickListener()
{
public void onClick(View v){}
});
}
}
服务端:
主类:Server.java
package com.android.client; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.Socket; import com.yarin.android.Examples_08_04.R; 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 android.widget.EditText; import android.widget.TextView; public class Activity01 extends Activity { private final String DEBUG_TAG = "Activity01"; private TextView mTextView=null; private EditText nameEdit=null; private Button save=null; private Button select=null; private EditText addressEdit=null; private EditText phoneEdit=null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); save = (Button)findViewById(R.id.save); select=(Button)findViewById(R.id.select); mTextView=(TextView)findViewById(R.id.TextView01); nameEdit=(EditText)findViewById(R.id.name); addressEdit=(EditText)findViewById(R.id.address); phoneEdit=(EditText)findViewById(R.id.phone); //登陆 save.setOnClickListener(new OnClickListener() { public void onClick(View v) { Socket socket = null; String name=nameEdit.getText().toString(); String address=addressEdit.getText().toString(); String phone=phoneEdit.getText().toString(); String message = name + "\n"+address+"\n"+phone+"\n"; try { //创建Socket socket = new Socket("192.168.0.7",54321); //向服务器发送消息 PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println(message); //接收来自服务器的消息 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); String msg = br.readLine(); if ( msg != null ) { mTextView.setText(msg); } else { mTextView.setText("数据错误!"); } //关闭流 out.close(); br.close(); //关闭Socket socket.close(); } catch (Exception e) { // TODO: handle exception Log.e(DEBUG_TAG, e.toString()); } } }); select.setOnClickListener(new OnClickListener() { public void onClick(View v){} }); } }
数据类:ConSQL.java
驱动包:sqljdbc4.jar支持1.6以上 import java.sql.*; public class ConSQL { Statement stmt; Connection con; public void ConSQl(){ String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎 String connectDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Mydb";//数据源 try { Class.forName(JDriver);//加载数据库引擎,返回给定字符串名的类 }catch(ClassNotFoundException e) { e.printStackTrace(); System.out.println("加载数据库引擎失败"); System.exit(0); } System.out.println("加载驱动成功"); try { String user="sa"; String password="hello2010"; con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象 System.out.println("连接数据库成功"); }catch(SQLException e){ e.printStackTrace(); System.exit(0); } } /**** * 查询*/ public void selete(){ try { stmt=(Statement) con.createStatement();//创建SQL命令对象 String sql="select * from order";//查询order表语句 ResultSet rs=stmt.executeQuery(sql);//执行查询 StringBuilder str=new StringBuilder(); while(rs.next()){ str.append(rs.getString(1)+"\n"); } // mSetText(str.toString()); rs.close(); stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 注入信息 * fhwd:发货网点,shwd:收货网点,ydh:运单号,kh:卡号, * dshk:代收货款,fhname:发货人,fhphone:发货电话,shname:收货人,shphone:收货电话 * yf:运费;yhf:运货费,hwname:货物名称,bz:包装件,bs:保值,hdan:回单标记*/ public void insert(String fhwd,String shwd,String ydh,String kh,String dshk,String fhname,String fhphone,String shname,Number shphone ,String yf,String yhf,String hwname,String bz,String num,String bs,int hdan){ String sql="INSERT INTO order VALUES(fhwd,shwd,ydh,kh,dshk,fhname,fhphone,shname,shphone,yf,yhf,hwname,bz,num,bs,hdan)"; try { stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("数据库注入失败!"); e.printStackTrace(); } } public void insert(String name) { // TODO Auto-generated method stub try { System.out.println("name:"+name); stmt.executeUpdate(name); } catch (SQLException e) { System.out.println("数据库注入失败!"); e.printStackTrace(); } } }
相关推荐
在Android平台上连接并...以上就是Android连接SQL Server 2008并进行数据库操作的基本流程和注意事项。实际开发中,可能还需要考虑网络状况、数据库性能优化、数据同步策略等多个方面,以构建高效且健壮的移动应用。
Android Studio 读取SQL Server数据库中的数据,创建线程来获取SQL Server中的数据 ,在配置文件Androidmanifest.xml中添加<uses-permission android:name="android.permission.INTERNET"/>,否则无法网络连接的 亲...
在描述中提到的"Android通过webService连接SqlServer",这里的webService通常指的是SOAP或RESTful Web服务,它们提供了一种标准的方式来交换数据。 对于C#部分,开发者将创建一个Web服务,它可以是ASP.NET Web ...
总的来说,Android通过WebService连接SQLServer涉及到Android网络编程、服务器开发、数据库操作等多个方面,需要对这些技术有深入理解和实践经验。通过学习和实践,开发者可以创建出高效、稳定且安全的数据交互应用...
在Android平台上,通过Java Database Connectivity (JDBC) 连接SQL Server 2008数据库是一种常见的做法,用于实现对数据库的增、删、改、查(CRUD)操作。以下将详细介绍这一过程的关键步骤和相关知识点。 1. **...
开发环境:win10,数据库SQL Server 2008 R2 EXPRESS 混合认证模式,android studio2.12,jdk1.8,android sdk 23.3,jtds 1.3.0,真机三星S4系统android 5.01wifi环境
该项目旨在教授Android连接SQL Server的基础知识,通过创建一个简单的库存管理系统,包括查看和管理仓库中的货物信息,如添加、删除货物。 2. **开发环境部署** - **操作系统**:Windows 7 64位旗舰版,但其他...
这个场景在标题"Android连接sqlserver数据库"中被提及,描述指出代码将直接连接到SQL Server数据库,并将查询结果展示在应用的界面上。标签"sqlswe"可能代表SQL Server与Web开发相关的技能。接下来,我们将深入探讨...
JDBC库:Sql 2000一下 用 sqljdbc.jar sql 2008 用 sqljdbc4.jar JDTS库:jdts-1.2.6.jar 对于eclipse 17以上的版本,需将库放在项目\libs 目录下,不必在做引用
在Android应用中连接到远程SQL Server数据库,你需要一个数据访问层(DAL)。使用ADO.NET Entity Framework或第三方库如SQLite-Net或PetaPoco,可以简化这个过程。由于我们直接操作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环境
此应用程序可运行在Android2.1及以上版本的操作系统手机或手持设备上,使用时请将 1.使用管理员客户端时请将Android应用程序(可执行文件)文件夹里的adminBookSystem.apk文件拷贝到手机里,然后安装、运行即可, 2....
利用c#和vs2010.net开发Android应用程序,连接SQL Server数据库进行数据操作 1、直接连接SQL Server 2、通过服务连接SQL Server
在Android开发中,连接SQL数据库是一项常见的需求,尤其是在构建数据驱动的应用时。本文将深入探讨如何在Android环境中使用SQL,以及如何通过JTDS驱动程序实现与远程SQL Server的连接。 首先,Android原生支持...
本资源提供的源码示例是关于如何使用`jdts.jar`库来实现Android应用与SQL SERVER 2008的连接。`jdts.jar`是一个Java驱动程序,它允许Java应用程序(包括Android应用)与SQL Server数据库进行通信。 **1. JDTS.jar...
Android通过webservice连接SqlServer实例(Android4.0可运行)从原博http://blog.csdn.net/zhyl8157121/article/details/8169172下载下来的demo,看了评论和其它文章后修改,解决了Android2.3以上StrictMode模式下不...
在Android平台上,与...综上所述,使用jdts.jar在Android中连接SQL Server 2008涉及了JDBC的基本用法和Android的特定考虑。理解这些概念并熟练应用,可以帮助开发者高效地实现Android应用与远程数据库的数据交换。
本教程将详细讲解如何在Android应用中直接连接到SQL数据库,特别是利用jtds库来实现这一功能。 首先,我们需要了解Android与SQL数据库交互的基础。在Android中,通常使用SQLite作为本地数据库,它是一个轻量级的...
本仓库提供了一个使用 Delphi XE7 开发的 Android 应用程序示例,该示例展示了如何在 Android 设备上通过服务器地址连接到 SQL Server 2008 数据库,并对数据库中的表进行插入、修改和删除操作。 资源文件描述 该...
### Android远程调用SQL Server实现增删查改 #### SQL Server环境的搭建 为了实现Android应用与SQL Server数据库之间的远程通信,首先需要确保SQL Server环境的正确搭建。本例使用的是SQL Server 2008 R2 和 jTDS ...