Java中写插入语句向数据库中的表插入??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中写插入语句向数据库中的表插入??相关的知识,希望对你有一定的参考价值。

实现思路:首先oracle数据库中的插入数据可以用insert语句,之后即可通过java方式进行插入,如:
String
userinfo="insert
into
userinfo
VALUES("+"'"+userD+"',sysdate"+")";
//之后执行插库操作。
备注,实际在数据库中插入语句如下
sql:insert
into
userinfo
values('123',sysdate);
参考技术A sql语句有问题。你在下面输出sql看下就明白了。
应改为:
string
sql="insert
into
aa(a,b,c)
values('"+h+"','"+f+"','"+g+"')";

用java向mysql数据库中插入数据为空

利用java面向对像编程,向数据库中插入数据时。遇到插入的数据为空的情况。在此做一小结:

1.数据库连接正正常

2.sql语句没有问题

3.程序没有报异常

4.代码:

import java.util.Scanner;

import org.junit.Test;
public class JDBCTest {
 //2).在测试方法testAAddStudent()中
 //1.获取从控制台输入的Student对象:Student student=getStudentFromConsole();
 //2.调用addStudent(Student stu)方法执行插入操作
 
 @Test
 public void testAAddStudent() {
  
    Student student=getStudentFromConsole();
    addStudent(student);
 }
 /**
  * 从控制台输入学生的信息
  */
 //@Test
 public Student getStudentFromConsole(){
 
    Scanner scanner=new Scanner(System.in);
    Student student=new Student();
    //System.out.println("@Stu1"+student);
    System.out.println("Flowid:");
    student.setFlowid(scanner.nextInt());
    System.out.println("Type:");
    student.setType(scanner.nextInt());
    System.out.println("IdCard:");
    student.setIdCard(scanner.next());
    System.out.println("ExamCard:");
    student.setExamCard(scanner.next());
    System.out.println("StudentName:");
    student.setStudentName(scanner.next());
    System.out.println("Localtion:");
    student.setLocaltion(scanner.next());
    System.out.println("Grade:");
    student.setGrade(scanner.nextInt());
    scanner.close();
    return student;
    //System.out.println("@stu2"+student);
 }
 
 public void addStudent(Student stu){
  
    //Student student=new Student();
    
    //1.准备一条sql语句:

    String sql="INSERT INTO examstudent Values("+stu.getFlowid()
    +","+stu.getType()
    +",‘"+stu.getIdCard()
    +"‘,‘"+stu.getExamCard()
    +"‘,‘"+stu.getStudentName()
    +"‘,‘"+stu.getLocaltion()
    +"‘,"+stu.getGrade()+")";
    System.out.println(sql);
    //2.调用JDBCTools类的update(sql)方法执行插入操作。
    JDBCTools.update(sql);
   }
}

 

5.总结:根据1、2、3判断,正常情况下,是可以对数据库进行添加数据的,但是添加的数据,通过查看数据库值为0或为空,

后来从程序的逻辑关系上进行检查分析,发现public void addStudent(Student stu)中Student student=new Student();是影响插入值的原因。

后来将在该方法中创建对象的语句去掉,利用形参写sql语句,结果正常了。属于对象重新被创建而引起的为空的现象。
























































以上是关于Java中写插入语句向数据库中的表插入??的主要内容,如果未能解决你的问题,请参考以下文章

向数据库插入的数据不重复,如何用Java做验证

怎么在MYSQL数据库的表中插入一个double型数据?

向mysql中批量插入数据的性能分析

java向oracle数据库中存一个date类型的值

如何加快 CockroachDB 中的插入性能

从java程序中向oracle中插入数据,为啥插入顺序总是不对