簡體   English   中英

我如何在Android Studio IDE中獲取此數據庫連接代碼以在手機上運行

[英]How do i get this database connection code in my android studio IDE to run on my phone

我正在嘗試使用手機從android studio IDE運行此代碼,並且它正在啟動和關閉。 我已經下載了Microsoft sql數據庫和Microsoft sql驅動程序,但仍然出現此錯誤。 誰能幫忙嗎?

import android.annotation.SuppressLint;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    Spinner spinnervendors;

    String ip, db;
    Connection connect;
    PreparedStatement stmt;
    ResultSet rs;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ip = "127.0.0.1";
        db = "Vendors";

        spinnervendors = (Spinner) findViewById(R.id.spinnervendors);

        connect = CONN(db, ip);
        String query = "Select CompanyName from Products";

        try {
            connect = CONN(db, ip);
            stmt = connect.prepareStatement(query);
            rs = stmt.executeQuery();
            ArrayList<String> data = new ArrayList<String>();
            while (rs.next()) {
                String id = rs.getString("CompanyName");
                data.add(id);

            }
            String[] array = data.toArray(new String[0]);
            ArrayAdapter NoCoreAdapter = new ArrayAdapter(this,
                    android.R.layout.simple_list_item_1, data);
            spinnervendors.setAdapter(NoCoreAdapter);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        spinnervendors.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                                       int position, long id) {

                String name = spinnervendors.getSelectedItem().toString();
                Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT)
                        .show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

    }
    @SuppressLint("NewApi")
    private Connection CONN(String _DB, String _server) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        Connection conn = null;
        String ConnURL = null;
        try {

            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            ConnURL = "jdbc:sqlserver://localhost" + "Vendors";
            conn = DriverManager.getConnection(ConnURL);
        } catch (SQLException se) {
            Log.e("ERRO", se.getMessage());
        } catch (ClassNotFoundException e) {
            Log.e("ERRO", e.getMessage());
        } catch (Exception e) {
            Log.e("ERRO", e.getMessage());
        }
        return conn;
    }

}

請檢查您的連接字符串。 看起來不太好。

這是示例字符串。

jdbc:sqlserver://localhost;user=MyUserName;password=*****;

有關詳細信息, 參見https://msdn.microsoft.com/zh-cn/library/ms378428(v=sql.110).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM