【发布时间】:2021-12-24 03:21:43
【问题描述】:
我正在尝试创建一个连接到 Microsoft SQL Server 的应用程序,并将一些数据添加到一个表(供应商)中,但它一直拒绝我与服务器的连接。我只为这个数据库创建了一个用户和一个密码。我正在使用 MacBook,而服务器在另一台 Windows PC 上,但我认为这不是它无法正常工作的原因。对于ip,我使用了我在cmd中编写ipconfig时找到的IPv4。
这是代码:
public class connectClass {
private Connection connection;
public Connection connectClass(){
String ip = "won't put it here for obvious reasons";
String user = "android";
String password = "android";
String port = "1433";
String database = "dbExemplu";
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String sirUrl = "jdbc:jtds:sqlserver://" + ip + ":" + port + ";" + "databasename=" + database
+ ";user=" + user + ";password=" + password + ";";
connection = DriverManager.getConnection(sirUrl);
} catch (ClassNotFoundException e) {
Log.e("Error", e.getException() + " " + e.getMessage());
} catch (SQLException e) {
Log.e("Error", e.getMessage());
}
return connection;
}
}
public class MainActivity extends AppCompatActivity {
private Button btn1;
private EditText txtCode, txtName, txtPhone;
private Vendor vendor;
private Collections cols = new Collections();
private Connection connection;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtCode = findViewById(R.id.codeVendor);
txtName = findViewById(R.id.nameVendor);
txtPhone = findViewById(R.id.phoneVendor);
btn1 = findViewById(R.id.saveVendor);
connectClass connect = new connectClass();
connection = connect.connectClass();
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
vendor = new Vendor();
vendor(txtCode.getText().toString());
vendor.setName(txtName.getText().toString());
vendor.setPhone(txtPhone.getText().toString());
cols.vendors.add(vendor);
addVendor(vendor.getCode().toString(), vendor.getName().toString(), vendor.getPhone().toString);
}
});
void addVendor(String code, String name, String phone) {
Statement st;
String s;
try {
st = connection.createStatement();
s = "insert into Furnizori values ('" + code + "'" + ",'" + name + "','" + phone + "')";
st.executeUpdate(s);
} catch (Exception e) {
Log.e("Error", e.getMessage());
}
}
}
【问题讨论】:
标签: java android sql-server