I believe my previously written "JDBC" post has given you a basic idea to start JDBC in a windows environment. So here I go again under the same topic but this time the post will be limited to a code. In previous post I have given codes to create a database dynamically and connecting to a database. This code shows how to create tables inside that database and inserting values dynamically into that newly created table.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;
import java.util.Scanner;
public class Myjdbc {
 public static void main(String args[]) {
  System.out.println("now we are going to connect with a database ");
  try {
   Class.forName("com.mysql.jdbc.Driver");
   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctest", "root", "123");
   Statement st = con.createStatement();
   System.out.println("connection has been made ");
   Scanner scanner = new Scanner(System.in);
   System.out.println("please enter table name ");
   String tableName = scanner.next();
   String strr = null;
   System.out.println("Enter no of columns you like to use: ");
   int noc = scanner.nextInt();
   for (int i = 1; i <= noc; i++) {
    BufferedReader bf = new BufferedReader(new InputStreamReader(
      System.in));
    System.out.println("Enter column name with type ");
    String s1 = bf.readLine();
    if (strr == null) {
     strr = s1;
    } else {
     strr = strr + s1;
    }
   }
   st.executeUpdate("create table " + tableName + "(" + strr + ")");
   System.out.println("your table " + tableName
     + " has been created!!!");
   ResultSet rs = st.executeQuery("SELECT * FROM " + tableName);
   ResultSetMetaData rsmd = rs.getMetaData();
   int NumOfCol = rsmd.getColumnCount();
   System.out.println("Number of Columns of your table =" + tableName
     + " " + NumOfCol);
   System.out.println("Column names are ");
   for (int i = 1; i <= NumOfCol; i++) {
    System.out.println(rsmd.getColumnName(i));
   }
   String strn = null;
   System.out.println("please enter values you need to insert");
   for (int i = 1; i <= NumOfCol; i++) {
    String s5 = scanner.next();
    if (strn == null) {
     strn = s5;
    } else
     strn = strn + s5;
   }
   System.out.println(strn);
   st.executeUpdate("insert into " + tableName + " values" + "("
     + strn + ")");
   System.out.println("your table " + tableName
     + " has been filled!!!");
   con.close();
   System.out.println("connection has been colsed ");
  }
  catch (Exception e) {
   System.out.println(e.getMessage());
  }
 }
}

 
 
this is very helpful article,Can you help me on instertin string type value and int type value both dyanmically.
ReplyDeletequiet complicated .............
ReplyDelete