HarrJ

Day 16 with scanner

Feb 18th, 2024
1,073
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.80 KB | None | 0 0
  1. package week3;
  2.  
  3. import java.util.Scanner;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7.  
  8. public class Day16C {
  9.     private String address = "jdbc:mysql://localhost:3306/db_jtvi_b8_23";
  10.     private String userName = "jtvi23b8"; //default "root"
  11.     private String passWord = "demo";
  12.    
  13.     public static void main(String[] args) {
  14.         Scanner sc = new Scanner(System.in);
  15.         Day16C callMe = new Day16C();
  16.         boolean isValid = true;
  17.         String itemName;
  18.         String itemDesc;
  19.         double itemValue = 0;
  20.         String userInput;
  21.         int rowResult;
  22.        
  23.         System.out.print("Enter Item Name: ");
  24.         itemName = sc.nextLine();
  25.         if (itemName.trim().isEmpty()) {
  26.             isValid = false;
  27.         }
  28.        
  29.         System.out.print("\nEnter Item Description: ");
  30.         itemDesc = sc.nextLine();
  31.         if (itemDesc.trim().isEmpty()) {
  32.             isValid = false;
  33.         }
  34.        
  35.         System.out.print("\nEnter Item Price: ");
  36.         userInput = sc.nextLine();
  37.         if (isNumeric(userInput)) {
  38.             itemValue = Double.parseDouble(userInput);
  39.             userInput = "";
  40.         } else {
  41.             isValid = false;
  42.         }
  43.        
  44.         if (isValid) {
  45.             System.out.println("all input ok");
  46.             rowResult = callMe.addNewRowB(itemName, itemDesc, itemValue);
  47.            
  48.             System.out.println(rowResult + " rows affected");
  49.            
  50.         } else {
  51.             System.out.println("one or more user input have problem");
  52.         }
  53.        
  54.     }
  55.    
  56.     static boolean isNumeric(String txtIn) {
  57.         boolean isNumber = true;
  58.         if (txtIn.trim().isEmpty()) {
  59.             isNumber = false;
  60.         }
  61.         try {
  62.             double d = Double.parseDouble(txtIn);
  63.         } catch (Exception e) {
  64.             isNumber = false;
  65.         }
  66.         return isNumber;
  67.     }
  68.    
  69.     int addNewRowB (String itemName, String itemDesc, double itemValue) {
  70.         int rowsAffected = 0;
  71.         try {
  72.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  73.            
  74.             String sqlQuery = "INSERT INTO tbl_item_list"
  75.                     + " ( fld_item_name , fld_item_desc , fld_item_value)"
  76.                     + " VALUES (?, ?, ?);";
  77.            
  78.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  79.             stmt.setString(1, itemName); //use proper set, starts at 1
  80.             stmt.setString(2, itemDesc);
  81.             stmt.setDouble(3, itemValue);
  82.            
  83.             rowsAffected = stmt.executeUpdate();
  84.            
  85.             conn.close();
  86.         } catch (Exception e) {
  87.             rowsAffected = -1;
  88.         }
  89.         return rowsAffected;
  90.     }
  91. }
  92.  
Advertisement
Add Comment
Please, Sign In to add comment