Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java在数据库中插入数据?_Java_Mysql_Jdbc - Fatal编程技术网

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

如何使用java在数据库中插入数据?,java,mysql,jdbc,Java,Mysql,Jdbc,我正在尝试使用mysql在数据库中插入数据。从何处获取数据并插入数据库的字符串 字符串是: s= 1 kalim khan NIL 2 ajay sharma NIL 3 navneet gupta NIL 4 amar kumar srivastava NIL StringTokenizer str = new StringTokenizer(htmlTableText); while(str.hasMoreElements()){ for(int

我正在尝试使用
mysql
在数据库中插入数据。从何处获取数据并插入数据库的字符串

字符串是:

s=
1 kalim khan NIL    
2 ajay sharma NIL   
3 navneet gupta  NIL    
4 amar kumar srivastava NIL 
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");
            }
      }
   }
我希望空间大于3的地方应该跳过
并向前移动

代码如下所示:

s=
1 kalim khan NIL    
2 ajay sharma NIL   
3 navneet gupta  NIL    
4 amar kumar srivastava NIL 
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");
            }
      }
   }
StringTokenizer str=新的StringTokenizer(htmlTableText);
while(str.hasMoreElements()){

对于(int i=0;i也许StringTokenizer的计数方法可以帮助您

int count = str.countTokens();
if (count > 4) {
   continue;
}
否则,我将只插入第一个字符串,直到找到姓氏

ps.setInt(1,sno);
ps.setString(2,fname);
ps.setString(3,lname);
ps.setString(4,price);
这些行中有一些错误

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

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

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

对其他字段执行上述操作。

您可以使用某种查询将其插入。我如何才能告诉meSmall提示:
StringTokenizer
是一个遗留类。请尝试改用
String.split()
。@Ɍwrite@user3496498 - .