用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語句,結果正常了。屬于對象重新被創建而引起的為空的現象。
轉載于:https://www.cnblogs.com/cd-01/p/7140442.html
總結
以上是生活随笔為你收集整理的用java向mysql数据库中插入数据为空的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谁有凯拉·奈特莉的绢这部电影?
- 下一篇: JQuery EasyUI的常用组件