我创建了一个 Android 应用程序,它从用户那里获取数据。我需要将收集的数据(字符串)发布到 MS SQL 数据库。
我研究了各种资源,但没有多大帮助。我已经获得了 IP、用户名、密码以及需要插入上述数据的表和行。当用户按下他/她正在填写的表单页面上的提交按钮时,我需要插入数据。
如果这可以与 MS SQL 数据库一起使用,那就太好了,因为这是 Web 应用程序的移动版本。我尝试使用 jDTS 1.3.1,但当我将其添加到 testCompile 下方时,它不与 gradle(module:app) 同步。
最佳答案
就我而言,我已将数据从 Android 插入到 MSSQL。问题是,您只需在连接中添加插入查询即可。为了更好的方便,我附上了我的编码,如下所示。
首先提供 Jtds 连接。
创建一个名为 ConnectionClass 的类,
public class ConnectionClass {
String ip = "your_IP";
String class = "net.sourceforge.jtds.jdbc.Driver";
String db = "DB_name";
String un = "UserName";
String password = "SQLpassword";
@SuppressLint("NewApi")
public Connection CONN() {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
String ConnURL = null;
try {
Class.forName(class);
ConnURL = "jdbc:jtds:sqlserver://" + ip + ";" + "databaseName=" + db + ";user=" + un + ";password=" + password + ";";
conn = DriverManager.getConnection(ConnURL);
} catch (SQLException se) {
Log.e("ERROR", se.getMessage());
} catch (ClassNotFoundException e) {
Log.e("ERROR", e.getMessage());
} catch (Exception e) {
Log.e("ERROR", e.getMessage());
}
return conn;
}
}
用于插入 MSSQL,
connectionClass = new ConnectionClass();
try
{
Connection con = connectionClass.CONN();
String query = "INSERT INTO TableName(ColumnName) VALUES ('" + text + "') " ;
Statement stmt = con.createStatement();
stmt.executeUpdate(query);
}
catch (SQLException se)
{
Log.e("ERROR", se.getMessage());
}
注意:我已经使用了stmt.executeUpdate(query)
,如果不起作用,你也可以使用stmt.executeQuery(query)
在这里,文本表示我自己的值,但您可以使用诸如 editText 之类的任何值。
希望,它有帮助......!!
关于java - 将数据从 Android 应用连接并插入到预先存在的 MS SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463506/