Android环境下使用JCFXBL API接口操作数据库

来源:互联网 发布:体积最小的单片机 编辑:程序博客网 时间:2024/04/30 14:42

Android环境下使用JCFXBL API接口操作数据库

 

文档整理:王强

 

http://blog.csdn.net/ex_net/article/details/7833641

作者:张建波 邮箱: 281451020@qq.com 电话:13577062679 欢迎来电交流!

 

 

 

一、数据操作中涉及到的数据接口

 

发送请求的对象

AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);

其中url=”服务器地址”+数据接口。

 

处理返回请求的对象

         FxBLResponse response = new FxBLResponse(res);

 

在相应数据库中新建一张表(如下图)

测试数据

 

 

二、安卓GUI界面操作

2.1 把数据查询到TextBox等控件内

(1)查询界面

(2)查询时用的存储过程

ALTER proc [dbo].[ACT_TEST_GET_KHXX](@KHBH nvarchar(100),@return_msg nvarchar(100)output,@return_value int output)as beginselect * from T_AD_TEST where KHBH=@KHBHset @return_msg=''set @return_value=1end


(3)UI查询事件挂接

findViewById(R.id.btnOK).setOnClickListener(new OnClickListener() {public void onClick(View v) {//查询用的地址String url ="http://169.254.1.30:8088/";url=url+"GetDbStore.ashx?act=ACT_TEST_GET_KHXX¶ms=1&formId=F0102"//绑定到请求中的Handler对象,Handler handler = new Handler() {public void handleMessage(Message message) {switch (message.what) {case HttpConnection.DID_START: {break;}case HttpConnection.DID_SUCCEED: {doFxBLCallBack((String) message.obj);break;}case HttpConnection.DID_ERROR: {break;}}}};//发送请求的对象AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);//添加与存储过程中对应的参数FxBL.AddParam("KHBH", txtBH.getText().toString());//绑定Handler对象FxBL.BindHandler(handler);//发送请求FxBL.Request();}//连接成后的处理方法private void doFxBLCallBack(String res) {//处理返回请求的对象FxBLResponse response = new FxBLResponse(res);//存放返回的数据ArrayList<HashMap<String,String>> list=response.GetArrayList();if (list != null) {//赋值txtKHXM.setText(list.get(0).get("KHMC"));txtZJLX.setText(list.get(0).get("ZJLX"));txtZJH.setText(list.get(0).get("ZJH"));txtLXDH.setText(list.get(0).get("LXDH"));}}});


2.2 把数据查询到ListView中

(1)查询界面

(2)查询用的存储过程

create proc [dbo].[ACT_AD__KHXX](@KHBH nvarchar(100),@limit int,@start int,@totalcount int output)as beginselect @totalcount=count(*) from T_AD_TEST where KHBH like '%'+@KHBHselect * from T_AD_TEST where KHBH like '%'+@KHBHend


(3)UI事件挂接

findViewById(R.id.btnJS).setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubString url ="http://169.254.1.30:8088/";url=url+"GetDbStoreByPage.ashx?act=ACT_AD__KHXX¶ms=3&formId=F0201"Handler handler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case HttpConnection.DID_START: {break;}case HttpConnection.DID_SUCCEED: {Log.i("DID_SUCCEED", ""+ HttpConnection.DID_SUCCEED);doFxBLCallBack((String) msg.obj);break;}case HttpConnection.DID_ERROR: {Log.i("tetst", "test");break;}}super.handleMessage(msg);}};AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);FxBL.AddParam("KHBH", txtBH.getText().toString());FxBL.AddParam("start", "0");FxBL.AddParam("limit", "20");FxBL.BindHandler(handler);FxBL.Request();}private void doFxBLCallBack(String res) {Log.i("click", "click");FxBLResponse response = new FxBLResponse(res);Log.i("GetSuccess", response.GetReturn_msg());ArrayList<HashMap<String,String>> arrayList=response.GetArrayList();SimpleAdapter adapter=new SimpleAdapter(FxBIActivity.this, arrayList, R.layout.listview,new String[]{"KHMC","LXDH"},new int[]{R.id.txt_list_KHMC,R.id.txt_list_lxdh});listView.setAdapter(adapter);// txt.setText(list.get(9).getValue());// txt.setText(response.GetRowString(1));}});


 

2.3 数据写入

(1)数据写入界面

(2)相关数据表

(3)数据写入存储过程

 alter proc ACT_AD_HTXX_ADD(@KHBH nvarchar(100),@KHMC nvarchar(100),@ZJLX nvarchar(100),@ZJH nvarchar(100),@LXDH nvarchar(100),@return_msg nvarchar(100) output,@return_value int output,@result nvarchar(100) output)as begininsert T_AD_TEST(KHBH,KHMC,ZJLX,ZJH,LXDH) values(@KHBH,@KHMC,@ZJLX,@ZJH,@LXDH)set @return_msg=''set @return_value=1set @result=''end


(4)UI事件挂接

findViewById(R.id.btnADD).setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubString url = "http://169.254.1.30:8088/Execute.ashx?act=ACT_AD_HTXX_ADD¶ms=7&formId=F0201";Handler handler = new Handler() {public void handleMessage(Message message) {switch (message.what) {case HttpConnection.DID_START: {break;}// 连接成功后的处理case HttpConnection.DID_SUCCEED: {Log.i("DID_SUCCEED", ""+ HttpConnection.DID_SUCCEED);doFxBLCallBack((String) message.obj);break;}case HttpConnection.DID_ERROR: {break;}}}};AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);Log.i("KHBH", "" + txtBH.getText().toString());//这个两个参数是必须的,而且必须在其他参数前添加FxBL.AddParam("sys_username", "admin");FxBL.AddParam("sys_password", "123456");==============FxBL.AddParam("KHBH", txtBH.getText().toString());FxBL.AddParam("KHMC", txtKHXM.getText().toString());FxBL.AddParam("ZJLX", txtZJLX.getText().toString());FxBL.AddParam("ZJH", txtZJH.getText().toString());FxBL.AddParam("LXDH", txtLXDH.getText().toString());FxBL.BindHandler(handler);FxBL.Request();}private void doFxBLCallBack(String res) {Log.i("click", "click");FxBLResponse response = new FxBLResponse(res);Log.i("GetSuccess", response.GetReturn_msg());}});


2.4 小结

   数据删除、修改和添加的操作类似。

 

三、总结

   通过JCFXBL平台API,Android下的应用程序可以很方便的访问JCFXBL平台的数据库(如MS SQL、Oracle、MySQL等等)

 

 

 

 

原创粉丝点击