歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android環境下使用JCFXBL API接口操作數據庫

一、數據操作中涉及到的數據接口

發送請求的對象

AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);

其中url=”服務器地址”+數據接口。

處理返回請求的對象

         FxBLResponse response = new FxBLResponse(res);

在相應數據庫中新建一張表(如下圖)

測試數據

 

二、安卓GUI界面操作

2.1 把數據查詢到TextBox等控件內

(1)查詢界面

(2)查詢時用的存儲過程

  1. ALTER proc [dbo].[ACT_TEST_GET_KHXX]  
  2. (  
  3.         @KHBH nvarchar(100),      
  4.         @return_msg nvarchar(100)output,  
  5.         @return_value int output  
  6. )  
  7. as begin  
  8.         select * from T_AD_TEST where KHBH=@KHBH  
  9.         set @return_msg=''  
  10.         set @return_value=1  
  11. end  
(3)UI查詢事件掛接
  1. findViewById(R.id.btnOK).setOnClickListener(new OnClickListener() {  
  2.             public void onClick(View v) {  
  3.                 //查詢用的地址   
  4.                 String url ="http://169.254.1.30:8088/";  
  5. url=url+"GetDbStore.ashx?act=ACT_TEST_GET_KHXX¶ms=1&formId=F0102"  
  6.                 //綁定到請求中的Handler對象,   
  7.                 Handler handler = new Handler() {  
  8.                     public void handleMessage(Message message) {  
  9.                         switch (message.what) {  
  10.                         case HttpConnection.DID_START: {  
  11.                             break;  
  12.                         }  
  13.                         case HttpConnection.DID_SUCCEED: {  
  14.                             doFxBLCallBack((String) message.obj);  
  15.                             break;  
  16.                         }  
  17.                         case HttpConnection.DID_ERROR: {  
  18.                             break;  
  19.                         }  
  20.                         }  
  21.                     }  
  22.                 };  
  23.                 //發送請求的對象   
  24.                 AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);  
  25.                 //添加與存儲過程中對應的參數   
  26.                 FxBL.AddParam("KHBH", txtBH.getText().toString());  
  27.                 //綁定Handler對象   
  28.                 FxBL.BindHandler(handler);  
  29.                 //發送請求   
  30.                 FxBL.Request();  
  31.             }  
  32. //連接成後的處理方法   
  33.             private void doFxBLCallBack(String res) {  
  34.                 //處理返回請求的對象   
  35.                 FxBLResponse response = new FxBLResponse(res);  
  36.                 //存放返回的數據   
  37.                 ArrayList<HashMap<String,String>> list=response.GetArrayList();  
  38.                 if (list != null) {  
  39.                     //賦值   
  40.                     txtKHXM.setText(list.get(0).get("KHMC"));  
  41.                     txtZJLX.setText(list.get(0).get("ZJLX"));  
  42.                     txtZJH.setText(list.get(0).get("ZJH"));  
  43.                     txtLXDH.setText(list.get(0).get("LXDH"));  
  44.                 }  
  45. }  
  46.         });  
2.2 把數據查詢到ListView中

(1)查詢界面

(2)查詢用的存儲過程

  1. create proc [dbo].[ACT_AD__KHXX]  
  2.     (  
  3.         @KHBH nvarchar(100),      
  4.         @limit int,  
  5.         @start int,  
  6.         @totalcount int output  
  7.     )  
  8.     as begin  
  9.         select @totalcount=count(*) from T_AD_TEST where KHBH like '%'+@KHBH  
  10.         select * from T_AD_TEST where KHBH like '%'+@KHBH  
  11.       
  12.     end  
(3)UI事件掛接
  1. findViewById(R.id.btnJS).setOnClickListener(new OnClickListener() {           
  2.             public void onClick(View v) {  
  3.                 // TODO Auto-generated method stub   
  4.                     String url ="http://169.254.1.30:8088/";  
  5.     url=url+"GetDbStoreByPage.ashx?act=ACT_AD__KHXX¶ms=3&formId=F0201"  
  6.                 Handler handler = new Handler() {  
  7.                     public void handleMessage(Message msg) {  
  8.                         switch (msg.what) {  
  9.                         case HttpConnection.DID_START: {  
  10.                             break;  
  11.                         }  
  12.                         case HttpConnection.DID_SUCCEED: {  
  13.                             Log.i("DID_SUCCEED"""  
  14.                                     + HttpConnection.DID_SUCCEED);  
  15.                             doFxBLCallBack((String) msg.obj);  
  16.                             break;  
  17.                         }  
  18.                         case HttpConnection.DID_ERROR: {  
  19.                             Log.i("tetst""test");  
  20.                             break;  
  21.                         }  
  22.                         }  
  23.                         super.handleMessage(msg);  
  24.                     }  
  25.                 };  
  26.                 AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);  
  27.                 FxBL.AddParam("KHBH", txtBH.getText().toString());  
  28.                 FxBL.AddParam("start""0");  
  29.                 FxBL.AddParam("limit""20");  
  30.                 FxBL.BindHandler(handler);  
  31.                 FxBL.Request();  
  32.             }  
  33.             private void doFxBLCallBack(String res) {  
  34.                 Log.i("click""click");  
  35.                 FxBLResponse response = new FxBLResponse(res);  
  36.                 Log.i("GetSuccess", response.GetReturn_msg());  
  37.                 ArrayList<HashMap<String,String>> arrayList=response.GetArrayList();  
  38.                 SimpleAdapter adapter=new SimpleAdapter(FxBIActivity.this, arrayList,   
  39.                     R.layout.listview,new String[]{"KHMC","LXDH"},  
  40.                         new int[]{R.id.txt_list_KHMC,R.id.txt_list_lxdh});  
  41.                   
  42.                 listView.setAdapter(adapter);  
  43.   
  44.                 // txt.setText(list.get(9).getValue());   
  45.                 // txt.setText(response.GetRowString(1));   
  46.             }  
  47.   
  48.         });  

2.3 數據寫入

(1)數據寫入界面

(2)相關數據表

(3)數據寫入存儲過程

  1. alter proc ACT_AD_HTXX_ADD  
  2. (  
  3.     @KHBH nvarchar(100),  
  4.     @KHMC nvarchar(100),  
  5.     @ZJLX nvarchar(100),  
  6.     @ZJH nvarchar(100),  
  7.     @LXDH nvarchar(100),  
  8.     @return_msg nvarchar(100) output,  
  9.     @return_value int output,  
  10.     @result nvarchar(100) output  
  11. )  
  12. as begin  
  13.     insert T_AD_TEST(KHBH,KHMC,ZJLX,ZJH,LXDH)                                       values(@KHBH,@KHMC,@ZJLX,@ZJH,@LXDH)  
  14.     set @return_msg=''  
  15.     set @return_value=1  
  16.     set @result=''  
  17. end  
(4)UI事件掛接
  1. findViewById(R.id.btnADD).setOnClickListener(new OnClickListener() {  
  2.               
  3.             public void onClick(View v) {  
  4.                 // TODO Auto-generated method stub   
  5.                 String url = "http://169.254.1.30:8088/Execute.ashx?act=ACT_AD_HTXX_ADD¶ms=7&formId=F0201";  
  6.                 Handler handler = new Handler() {  
  7.                     public void handleMessage(Message message) {  
  8.                         switch (message.what) {  
  9.                         case HttpConnection.DID_START: {  
  10.                             break;  
  11.                         }  
  12.                         // 連接成功後的處理   
  13.                         case HttpConnection.DID_SUCCEED: {  
  14.                             Log.i("DID_SUCCEED"""  
  15.                                     + HttpConnection.DID_SUCCEED);  
  16.                             doFxBLCallBack((String) message.obj);  
  17.                             break;  
  18.                         }  
  19.                         case HttpConnection.DID_ERROR: {  
  20.                             break;  
  21.                         }  
  22.                         }  
  23.                     }  
  24.                 };  
  25.   
  26.                 AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);  
  27.                 Log.i("KHBH""" + txtBH.getText().toString());  
  28.                 //這個兩個參數是必須的,而且必須在其他參數前添加   
  29.                 FxBL.AddParam("sys_username""admin");  
  30.                 FxBL.AddParam("sys_password""123456");  
  31.                 ==============  
  32.                 FxBL.AddParam("KHBH", txtBH.getText().toString());  
  33.                 FxBL.AddParam("KHMC", txtKHXM.getText().toString());  
  34.                 FxBL.AddParam("ZJLX", txtZJLX.getText().toString());  
  35.                 FxBL.AddParam("ZJH", txtZJH.getText().toString());  
  36.                 FxBL.AddParam("LXDH", txtLXDH.getText().toString());  
  37.   
  38.                 FxBL.BindHandler(handler);  
  39.                 FxBL.Request();  
  40.             }  
  41.             private void doFxBLCallBack(String res) {  
  42.                 Log.i("click""click");  
  43.                 FxBLResponse response = new FxBLResponse(res);  
  44.                 Log.i("GetSuccess", response.GetReturn_msg());  
  45.             }  
  46.         });  
2.4 小結

   數據刪除、修改和添加的操作類似。 

三、總結

   通過JCFXBL平台API,Android下的應用程序可以很方便的訪問JCFXBL平台的數據庫(如MS SQL、Oracle、MySQL等等)

Copyright © Linux教程網 All Rights Reserved