歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android環境下使用JCFXBL API接口操作數據庫

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

日期:2017/3/1 10:13:44   编辑:Linux編程

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

發送請求的對象

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. 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. listView.setAdapter(adapter);
  42. // txt.setText(list.get(9).getValue());
  43. // txt.setText(response.GetRowString(1));
  44. }
  45. });

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. public void onClick(View v) {
  3. // TODO Auto-generated method stub
  4. String url = "http://169.254.1.30:8088/Execute.ashx?act=ACT_AD_HTXX_ADD¶ms=7&formId=F0201";
  5. Handler handler = new Handler() {
  6. public void handleMessage(Message message) {
  7. switch (message.what) {
  8. case HttpConnection.DID_START: {
  9. break;
  10. }
  11. // 連接成功後的處理
  12. case HttpConnection.DID_SUCCEED: {
  13. Log.i("DID_SUCCEED", ""
  14. + HttpConnection.DID_SUCCEED);
  15. doFxBLCallBack((String) message.obj);
  16. break;
  17. }
  18. case HttpConnection.DID_ERROR: {
  19. break;
  20. }
  21. }
  22. }
  23. };
  24. AndroidFxBLClientAPI FxBL = new AndroidFxBLClientAPI(url);
  25. Log.i("KHBH", "" + txtBH.getText().toString());
  26. //這個兩個參數是必須的,而且必須在其他參數前添加
  27. FxBL.AddParam("sys_username", "admin");
  28. FxBL.AddParam("sys_password", "123456");
  29. ==============
  30. FxBL.AddParam("KHBH", txtBH.getText().toString());
  31. FxBL.AddParam("KHMC", txtKHXM.getText().toString());
  32. FxBL.AddParam("ZJLX", txtZJLX.getText().toString());
  33. FxBL.AddParam("ZJH", txtZJH.getText().toString());
  34. FxBL.AddParam("LXDH", txtLXDH.getText().toString());
  35. FxBL.BindHandler(handler);
  36. FxBL.Request();
  37. }
  38. private void doFxBLCallBack(String res) {
  39. Log.i("click", "click");
  40. FxBLResponse response = new FxBLResponse(res);
  41. Log.i("GetSuccess", response.GetReturn_msg());
  42. }
  43. });
2.4 小結

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

三、總結

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

Copyright © Linux教程網 All Rights Reserved