java.sql.SQLException:I / O错误:套接字已关闭

时间:2015-06-05 08:20:29

标签: android-asynctask

我想将数据从MSSQL同步到android sqllite.All syncdata方法写入ansync class.But有时应用程序返回 java.sql.SQLException:I / O错误:Socket关闭错误但没有完成同步数据。有时应用程序成功同步所有更新数据。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
{
CheckProductGroupInfoHasNew();
        CheckProductInfoHasNew();
        CheckProductPriceInfoHasNew();
        CheckCustomerInfoHasNew();
}
private void CheckProductInfoHasNew() { 
    AsyncSyncData _AsyncSyncData = new AsyncSyncData();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
        _AsyncSyncData.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
                "PC");
    else
        _AsyncSyncData.execute("PC");
}

private void CheckProductPriceInfoHasNew() {
AsyncSyncData _AsyncSyncData = new AsyncSyncData();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
        _AsyncSyncData.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
                "PPRICE");
    else
        _AsyncSyncData.execute("PPRICE");
}

private void CheckCustomerInfoHasNew() {

    AsyncSyncData _AsyncSyncData = new AsyncSyncData();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
        _AsyncSyncData.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
                "CV");
    else
        _AsyncSyncData.execute("CV");
}
private void CheckProductGroupInfoHasNew() {
AsyncSyncData _AsyncSyncData = new AsyncSyncData();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
        _AsyncSyncData.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
                "PG");
    else
        _AsyncSyncData.execute("PG");
}
class AsyncSyncData extends AsyncTask<String, String, String> {
    @Override
    protected String doInBackground(String... params) {
if (params[0].toString().equals("PG")) {
_ListProductGroupInfo = _MSDBConnection
                        .SelectProductGroupInfo(_Query);}
} else if (params[0].equals("PC")) {
_ListProductInfo = _MSDBConnection
                        .SelectProductInfo(_Query);
            } else if (params[0].equals("CV")) {
  _ListCustomerInfo = _MSDBConnection
                        .SelectCustomerInfo(_Query);
            } else if (params[0].equals("PPRICE")) {
  _ListProductPriceInfo = _MSDBConnection
                        .SelectProductPriceInfo(_Query);
            } else if (params[0].equals("VAT")) {
    _ListCustomerInfo = _MSDBConnection
                        .SelectCustomerInfo(_Query);
            }

@Override
    protected void onPostExecute(String result) {
        try {

            if (result.equals("PG")) {
                int _result = 0;
                if ((_result = SyncProductGroupInfo()) > 0) {
                    Toast.makeText(
                            _context,
                            "Save Successfully .Product Group Data rows = "
                                    + _result, Toast.LENGTH_SHORT).show();
                }

            } else if (result.equals("PC")) {
                int _result = 0;
                if ((_result = SyncProductInfo()) > 0) {
                    Toast.makeText(
                            _context,
                            "Save Successfully .Product Data rows = "
                                    + _result, Toast.LENGTH_SHORT).show();
                }

            } else if (result.equals("PPRICE")) {
                int _result = 0;
                if ((_result = SyncProductPriceInfo()) > 0) {
                    Toast.makeText(
                            _context,
                            "Save Successfully .Product Price Data rows = "
                                    + _result, Toast.LENGTH_SHORT).show();
                }
            } else if (result.equals("CV")) {
                int _result = 0;
                if ((_result = SyncCustomerInfo()) > 0) {
                    Toast.makeText(
                            _context,
                            "Save Successfully .Customer Data rows = "
                                    + _result, Toast.LENGTH_SHORT).show();
                }
                HomeFragment.BindProductGroup();
                SyncActivity.this.finish();
                // close the progress dialog
                progressDialog.dismiss();

            } else if (result.equals("VAT")) {
                if (SyncVatInfo()) {
                    Toast.makeText(_context, "Save Successfully Vat Data",
                            Toast.LENGTH_SHORT).show();
                }

                SyncActivity.this.finish();

                // close the progress dialog
                progressDialog.dismiss();

            }
        } catch (Exception ex) {
            Log.i("onPostExecute Ex",
                    " Chan I'm onPostExecute" + ex.getMessage());
            ex.printStackTrace();
            Toast.makeText(_context, ex.getMessage().toString(),
                    Toast.LENGTH_LONG).show();

            SyncActivity.this.finish();
            // close the progress dialog
            progressDialog.dismiss();

        } finally {

        }
    }

0 个答案:

没有答案