当前位置: 首页 > 知识库问答 >
问题:

使用java将arraylist值插入sql server数据库

冯通
2023-03-14

我对Android编程相当陌生,我遇到了一个小问题。我有一个arraylist,由从多选列表视图中选择的人的名字组成,问题是每当我将这些arraylist值插入数据库时,它都会将其作为一个字符串插入:数据库行。如何迭代arraylist,同时将其值插入数据库

这是我的代码:

try {
 Connection con = connectionClass.CONN();
  if (con == null) {
   Toast.makeText(getApplicationContext(), "CONNECTION FAIL", Toast.LENGTH_LONG).show();
   } else {

  String samp = "";
  String names = "";
  samp = myArrayAdapter.getCheckedItems().toString();
  ArrayList<String> data1 = new ArrayList<String>();
  data1.add(samp);

  for(int x=0; x<data1.size(); x++)
   {
      names += String.valueOf(data1.get(x));
      String query = "INSERT INTO AUTOINC(PersonName)"+"VALUES('"+names+"')";
      PreparedStatement preparedStatement = con.prepareStatement(query);
                        preparedStatement.executeUpdate();

   }
      Toast.makeText(getApplicationContext(), "INSERT SUCCESS", Toast.LENGTH_LONG).show();
      }
    } catch (Exception ex) {
    Toast.makeText(getApplicationContext(), "INSERT FAILED", Toast.LENGTH_LONG).show();
    Log.e("MYAPP", "exception", ex);
   }

感谢您以后的回复。

共有2个答案

穆劲
2023-03-14

看看这个代码。。。

 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);        
                    PropertyInfo pi=new PropertyInfo();
                    pi.setName("UserName");
                    pi.setValue(txtName.getText().toString());
                    pi.setType(String.class);
                    request.addProperty(pi);
                    pi=new PropertyInfo();
                    pi.setName("UserAge");
                    pi.setValue(txtVal.getText().toString());
                    pi.setType(String.class);
                    request.addProperty(pi);


SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(webRequest);
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);


    androidHttpTransport.call(SOAP_ACTION + METHOD_NAME, envelope);
    Log.d("CheckLogin-SOAP ACTION", SOAP_ACTION + METHOD_NAME);
    SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
    Log.d("CheckLogin - Response", response.toString());

    status= Boolean.valueOf(response.toString());
殳越
2023-03-14

你能试试吗?

List<String> data1 = new ArrayList<String>(Arrays.asList(samp.replace("[","").replace("]","").split(",")));

for (String name : data1) {
  names += name;   // This lines concatenate the name.
 //If you want to insert single name the you can directly insert the name value into databas.  
  String query = "INSERT INTO AUTOINC(PersonName)"+"VALUES('"+name+"')";
  PreparedStatement preparedStatement =   con.prepareStatement(query);
  preparedStatement.executeUpdate();
}
 类似资料:
  • 我正试图使用Java中的一条准备好的语句在数据库中插入信息。我使用了占位符和设置字符串来避免SQL注入,但我一直有相同的错误:靠近“?”的Sytax不正确有人知道我做错了什么吗?这是我的代码: 我做了很多尝试,但都没有成功,连接到数据库的用户也有读写权限。 非常感谢你的回答!

  • 我想使用Java将用户提供的输入插入Sql表,但不知道需要多少列。 如。 这个查询不起作用,因为我不知道列名,即ID,name。 我想要一个对任何插入数据都通用的查询。

  • 问题内容: 我正在尝试使用Java将数据插入mysql数据库。我正在使用以下代码从数据库中获取数据,并且工作正常。 为了插入数据,我尝试了上面的代码,仅替换了 与 但是它显示出一些错误。您能告诉我代码中的问题在哪里吗? 谢谢 :) 问题答案: 如果您的主键是自动递增,则可以尝试此操作;

  • 我知道如何使用滑翔将图像插入到常规ImageView中 (

  • 问题内容: 我想使用PreparedStatement将行插入表中。该表有3列(int,String,String)。关键是int列是AUTO_INCREMENT,所以我想将该变量保留为空,然后让数据库完成该工作(这是一个id)。还没有找到如何做! 这是一个MySQL数据库。 问题答案: 这是相对简单的,只需从列列表中删除自动增量列即可: 准备该语句,设置两个参数,然后在非查询模式下执行。

  • 问题内容: 我使用Google Maps API制作了一个非常简单的页面,其中有几个字段,用户将在其中放置一些数据。看起来像- http://aiworker2.usask.ca/marker_field_db.html 我要做的是使用javascript / Ajax将数据存储到MySQL数据库中。我发现了几个使用Jquery的示例。我是这个javascript / Ajax / Jquery平