如何使用java在数据库中插入数据?

时间:2014-04-04 06:48:17

标签: java mysql jdbc

我尝试使用insert data在db中my sql。字符串从哪里获取数据并插入db。

字符串是:

s=
1 kalim khan NIL    
2 ajay sharma NIL   
3 navneet gupta  NIL    
4 amar kumar srivastava NIL 

我希望空间超过3,前面应该skipedmoved

代码如下:

StringTokenizer str = new StringTokenizer(htmlTableText);
   while(str.hasMoreElements()){
      for(int i=0;i<4;i++){
          int sno = Integer.parseInt(str.nextElement().toString());

        String fname = str.nextElement().toString();
        String lname = str.nextElement().toString();
        String price = str.nextElement().toString();
        Class.forName("com.mysql.jdbc.Driver");
        Connection  cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mandi","root","");
         //insert them into the database
         PreparedStatement ps=cn.prepareStatement("insert into commoditywise  values(?,?,?,?)");
         ps.setInt(1,sno);
         ps.setString(2, fname);
         ps.setString(3, lname);
         ps.setString(4, price);
            int j =ps.executeUpdate();
            if(j==1)
            {
            System.out.println("data inserted");
            }
            else
            {
            System.out.println("not inserted");
            }
      }
   }

提前致谢

2 个答案:

答案 0 :(得分:0)

也许StringTokenizer的计数方法可以帮到你?

int count = str.countTokens();
if (count > 4) {
   continue;
}

否则我只会插入第一个字符串,直到我到达姓氏。

答案 1 :(得分:0)

ps.setInt(1,sno);
ps.setString(2,fname);
ps.setString(3,lname);
ps.setString(4,price);

这些行中有一些错误,

解决方案:使用DTO(Setter和Getter方法类/ bean类)来获取sno,fname,lname,price value

试试这个  这里1.dtoclassname =你的bean类(setter和setter方法类)
2.getSno()=是获取价值的方法。

ps.setInt(1,dtoclassname.getSno());

执行上述其他领域的操作。