Mein Name ist Phuc. Ich bin in einem Problem, dass mein Java-Code korrekt in NetBeans funktionierte, aber wenn ich kopiert und in Android Studio eingefügt wurde, nachdem erfolgreich erstellt. Ich lief in mein Telefon (6.0) und es funktionierte nichts. Ich wusste nicht warum. Bitte hilf mir. (Mein Ziel ist es, den Wert von SQL Server in Android 6.0 App senden und empfangen)Java-Code funktioniert ordnungsgemäß in NetBeans, funktioniert aber nicht in Android 6.0
Das ist mein Java-Code:
<package javaapplication1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
/**
*
* @author Phuc
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
private final Connection conn;
public JavaApplication1() throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://asdasdasa.mssql.somee.com;Database=asdasdasa;UserName=cip2017_SQLLogin_2;Password=oev2sm4ken";
this.conn = DriverManager.getConnection(url);
}
public void thucthi() throws SQLException
{
Statement stm = this.conn.createStatement();
String sql ="Update Butt set Value = 0 where Index1 = 2";
stm.executeUpdate(sql);
}
public ResultSet Getdata(String tb) throws SQLException {
ResultSet kq = null;
Statement stm = this.conn.createStatement();
String sql ="select Value from Varr";
kq = stm.executeQuery(sql);
return kq;
}
public void Close() throws SQLException {
if(this.conn != null)
{
this.conn.close();
}
}
public static void main(String[] args) throws Exception {
JavaApplication1 ccc = new JavaApplication1();
ResultSet rs = ccc.Getdata("Varr");
ArrayList data = new ArrayList();
while (rs.next())
{
data.add(rs.getString("Value"));
}
System.out.println(data.get(3));
ccc.thucthi();
ccc.Close();
}
}
Und das ist mein Android-Code:
package com.example.phuc.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView tv1 = (TextView) findViewById(R.id.textView);
Button bt1 = (Button) findViewById(R.id.button);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ConnectToDB tt = new ConnectToDB();
tt.thucthi();
tt.Close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public static class ConnectToDB
{
private Connection conn;
public ConnectToDB() throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://asdasdasa.mssql.somee.com;Database=asdasdasa;UserName=cip2017_SQLLogin_2;Password=oev2sm4ken";
this.conn = DriverManager.getConnection(url);
}
public void thucthi() throws SQLException{
Statement stm = this.conn.createStatement();
String sql ="Update Butt set Value = 1 where Index1 = 5";
stm.executeUpdate(sql);
}
//public ResultSet Getdata(String tb) throws SQLException {
//ResultSet kq = null;
// Statement stm = this.conn.createStatement();
// String sql ="select Value from Varr";
// kq = stm.executeQuery(sql);
// return kq;
//}
public void Close() throws SQLException {
if(this.conn != null)
{
this.conn.close();
}
}
}
}
http://importblogkit.com/2015/07/does-not-work/ – Biffen
In Android gibt es eine Haupt-Thread ist, die ist verwendet für kurze Operationen und Aktualisierung der Benutzeroberfläche. Wenn Sie einen Netzwerkanruf tätigen möchten, müssen Sie einen neuen Thread aufrufen und von dort aus machen. Alternativ können Sie die Android AsyncTask verwenden. – toshkinl
Hast du die jdbc.jar deines sqlservers hinzugefügt? Außerdem würde ich nicht direkt von der Android-App auf meine Remote-DB zugreifen. Wenn ich Ihre App dekompiliere, finde ich alle Informationen, die ich selbst aufrufen möchte. Verwenden Sie WebService, um einige Wertpapiere hinzuzufügen. – AxelH