Problem whit insert pdf file into mySQL Database

Discussion in 'Java' started by sahm, May 22, 2010.

  1. sahm

    sahm Guest

    Hi every one

    I'm trying to insert PDF file in to mySQL Data Base but I keep receive
    error and this is my code

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    \
    public static File file;
    public static FileInputStream fis;

    void get_Doc()
    {
    try
    {
    String fl = null;
    JFileChooser fc = new JFileChooser();
    fc.setDialogTitle("Select File");
    FileFilter filter, filter2;
    filter = new FileNameExtensionFilter("PDF", "PDF");
    filter2 = new FileNameExtensionFilter("JPG", "JPG");
    fc.addChoosableFileFilter(filter2);
    fc.addChoosableFileFilter(filter);
    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fc.setAcceptAllFileFilterUsed(false);
    int returnVal = fc.showOpenDialog(this);

    if (returnVal == JFileChooser.APPROVE_OPTION)
    {
    file = fc.getSelectedFile();
    //fl = file.toString();
    fis = new FileInputStream(file);

    JOptionPane.showMessageDialog(this, fl.toString(),
    "Information", JOptionPane.INFORMATION_MESSAGE);

    }
    else
    {
    JOptionPane.showMessageDialog(this, "Please select a
    file" , "Error", JOptionPane.ERROR_MESSAGE);

    }
    this.dcument_Location_jTextField.setText(fl.toString());
    }
    catch(Exception e)
    {
    JOptionPane.showMessageDialog(this, e.toString(), "Error",
    JOptionPane.ERROR_MESSAGE);
    }
    }
    ///////////////////////////////////////////////////////////////////////

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    void insert_Doc()
    {
    try
    {
    IPClass ipc = new IPClass();

    Class.forName("com.mysql.jdbc.Driver");
    Connection con;
    con = DriverManager.getConnection("jdbc:mysql://" + ipc.ip
    + "/" + ipc.db,ipc.user,ipc.ps);
    //Statement stat = con.createStatement();


    String inserting_Data = "insert into document_archive ("
    +
    "Doc_ID, Doc_Type, Doc_Name,
    Doc_Date, Doc_file, " +
    "Doc_Bank_NO, Doc_Bank_Name,
    Doc_Add_user ) " +
    "values (?, ?, ?, ?, ?, ?, ?, ?)";


    PreparedStatement ps = null;

    ps = con.prepareStatement(inserting_Data);




    ps.setInt(1,
    Integer.valueOf(documen_NO_jTextField.getText()));
    ps.setString(2,
    String.valueOf(document_Type_jComboBox.getSelectedItem()));
    ps.setString(3, document_Name_jTextField.getText());
    String today = getDocumentDate();
    ps.setString(4, String.valueOf(today));
    ps.setBinaryStream(5, fis, (int), file.length());
    ps.setString(6,
    String.valueOf(bankNOjComboBox.getSelectedItem()));
    ps.setString(7, bankNOjTextField.getText());
    ps.setString(8, userName.useName);
    //ps.setBinaryStream(5, f1, (int) file.length());
    //ps.setString(5, fd.st_FName);


    ps.executeUpdate();
    JOptionPane.showMessageDialog(this, "Document inserted
    successfully", "Information", JOptionPane.INFORMATION_MESSAGE);
    clean_Data();

    }
    catch(Exception e)
    {
    JOptionPane.showMessageDialog(this, e.toString(), "Error",
    JOptionPane.ERROR_MESSAGE);
    }
    }
    ////////////////////////////////////

    Best
    Salim
     
    sahm, May 22, 2010
    #1
    1. Advertising

  2. sahm

    markspace Guest

    sahm wrote:
    > Hi every one
    >
    > I'm trying to insert PDF file in to mySQL Data Base but I keep receive
    > error and this is my code



    What is the error you receive? A full stack trace and showing us which
    line it is too would be helpful.

    Otherwise, not much chance someone is just going to pick out the problem
    by eyeball.
     
    markspace, May 22, 2010
    #2
    1. Advertising

  3. sahm

    Jeff Higgins Guest

    On 5/22/2010 5:11 AM, sahm wrote:
    > Hi every one
    >
    > I'm trying to insert PDF file in to mySQL Data Base but I keep receive
    > error and this is my code
    >


    This fails to compile. There may be other issues.

    class SQLTest {

    String inserting_Data = "insert into document_archive ("
    +
    "Doc_ID, Doc_Type, Doc_Name,
    Doc_Date, Doc_file, " +
    "Doc_Bank_NO, Doc_Bank_Name,
    Doc_Add_user ) " +
    "values (?, ?, ?, ?, ?, ?, ?, ?)";



    }
     
    Jeff Higgins, May 22, 2010
    #3
  4. sahm

    Lew Guest

    sahm wrote:

    > I'm trying to insert PDF file in to mySQL [sic] Data Base but I keep receive
    > error and this is my code


    markspace and Jeff Higgins have already pointed out that your code will not
    compile and that you fail to reveal your actual problem.

    But wait, there's more.

    > public static File file;
    > public static FileInputStream fis;


    Sorry, 'public' members? And why 'static'?

    > void get_Doc()
    > {


    (Unconventional indentation - should line up with 'void getDoc()' line.)

    > try
    > {
    > String fl = null;


    It's not often a good idea to initialize a variable to a value you never
    intend to use. In the code you show us, doing so pushes a compiler error to a
    runtime exception. You want to do the opposite.

    > JFileChooser fc = new JFileChooser();
    > fc.setDialogTitle("Select File");
    > FileFilter filter, filter2;
    > filter = new FileNameExtensionFilter("PDF", "PDF");
    > filter2 = new FileNameExtensionFilter("JPG", "JPG");
    > fc.addChoosableFileFilter(filter2);
    > fc.addChoosableFileFilter(filter);
    > fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    > fc.setAcceptAllFileFilterUsed(false);
    > int returnVal = fc.showOpenDialog(this);
    >
    > if (returnVal == JFileChooser.APPROVE_OPTION)
    > {
    > file = fc.getSelectedFile();
    > //fl = file.toString();
    > fis = new FileInputStream(file);


    Be very, very careful mixing long-running actions with the Event Dispatch
    Thread. You should separate non-GUI actions to a different thread.

    > JOptionPane.showMessageDialog(this, fl.toString(),


    Invoking 'toString()' on a 'String' is wacky; invoking on value 'null' throws
    'NullPointerException'.

    > "Information", JOptionPane.INFORMATION_MESSAGE);
    >
    > }
    > else
    > {
    > JOptionPane.showMessageDialog(this, "Please select a
    > file" , "Error", JOptionPane.ERROR_MESSAGE);
    >
    > }
    > this.dcument_Location_jTextField.setText(fl.toString());


    Invoking 'toString()' on a 'String' is wacky; invoking on value 'null' throws
    'NullPointerException'.

    Variable names (for non-constant or non-final variables) should not contain
    underscores.

    > }
    > catch(Exception e)
    > {
    > JOptionPane.showMessageDialog(this, e.toString(), "Error",
    > JOptionPane.ERROR_MESSAGE);
    > }
    > }
    > ///////////////////////////////////////////////////////////////////////
    >
    > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    > void insert_Doc()
    > {
    > try
    > {
    > IPClass ipc = new IPClass();
    >
    > Class.forName("com.mysql.jdbc.Driver");


    You don't need to attempt to reload a class over and over and over and over
    and over and ...

    Once, in a static initializer, is enough.

    > Connection con;
    > con = DriverManager.getConnection("jdbc:mysql://" + ipc.ip
    > + "/" + ipc.db,ipc.user,ipc.ps);


    Why on separate lines?

    > //Statement stat = con.createStatement();


    Use 'PreparedStatement' instead of plain 'Statement' almost always.

    > String inserting_Data = "insert into document_archive ("
    > +
    > "Doc_ID, Doc_Type, Doc_Name,
    > Doc_Date, Doc_file, " +


    Whoa, there, sport! That's some wide indentation you got there!

    > "Doc_Bank_NO, Doc_Bank_Name,
    > Doc_Add_user ) " +
    > "values (?, ?, ?, ?, ?, ?, ?, ?)";
    >
    >
    > PreparedStatement ps = null;


    Why in the world do you bother initializing 'ps' to 'null'?

    > ps = con.prepareStatement(inserting_Data);
    >
    > ps.setInt(1,
    > Integer.valueOf(documen_NO_jTextField.getText()));
    > ps.setString(2,
    > String.valueOf(document_Type_jComboBox.getSelectedItem()));
    > ps.setString(3, document_Name_jTextField.getText());
    > String today = getDocumentDate();
    > ps.setString(4, String.valueOf(today));
    > ps.setBinaryStream(5, fis, (int), file.length());
    > ps.setString(6,
    > String.valueOf(bankNOjComboBox.getSelectedItem()));
    > ps.setString(7, bankNOjTextField.getText());
    > ps.setString(8, userName.useName);
    > //ps.setBinaryStream(5, f1, (int) file.length());
    > //ps.setString(5, fd.st_FName);
    >
    >
    > ps.executeUpdate();
    > JOptionPane.showMessageDialog(this, "Document inserted
    > successfully", "Information", JOptionPane.INFORMATION_MESSAGE);
    > clean_Data();


    Dude! Separate worker threads from the EDT!

    This is covered in the Swing tutorial on java.sun.com. Read it.

    > }
    > catch(Exception e)
    > {
    > JOptionPane.showMessageDialog(this, e.toString(), "Error",
    > JOptionPane.ERROR_MESSAGE);
    > }
    > }


    --
    Lew
     
    Lew, May 22, 2010
    #4
  5. sahm

    sahm Guest

    On May 22, 6:27 pm, Lew <> wrote:
    > sahm wrote:
    > > I'm trying to insert PDF file in to mySQL [sic] Data Base but I keep receive
    > > error and this is my code

    >
    > markspace and Jeff Higgins have already pointed out that your code will not
    > compile and that you fail to reveal your actual problem.
    >
    > But wait, there's more.
    >
    > > public static File file;
    > > public static FileInputStream fis;

    >
    > Sorry, 'public' members?  And why 'static'?
    >
    > > void get_Doc()
    > >      {

    >
    > (Unconventional indentation - should line up with 'void getDoc()' line.)
    >
    > >          try
    > >          {
    > >              String fl = null;

    >
    > It's not often a good idea to initialize a variable to a value you never
    > intend to use.  In the code you show us, doing so pushes a compiler error to a
    > runtime exception.  You want to do the opposite.
    >
    >
    >
    > >              JFileChooser fc = new JFileChooser();
    > >              fc.setDialogTitle("Select File");
    > >              FileFilter filter, filter2;
    > >              filter = new FileNameExtensionFilter("PDF", "PDF");
    > >              filter2 = new FileNameExtensionFilter("JPG", "JPG");
    > >              fc.addChoosableFileFilter(filter2);
    > >              fc.addChoosableFileFilter(filter);
    > >              fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    > >              fc.setAcceptAllFileFilterUsed(false);
    > >              int returnVal = fc.showOpenDialog(this);

    >
    > >              if (returnVal == JFileChooser.APPROVE_OPTION)
    > >              {
    > >                  file = fc.getSelectedFile();
    > >                  //fl = file.toString();
    > >                  fis = new FileInputStream(file);

    >
    > Be very, very careful mixing long-running actions with the Event Dispatch
    > Thread.  You should separate non-GUI actions to a different thread.
    >
    > >                  JOptionPane.showMessageDialog(this, fl.toString(),

    >
    > Invoking 'toString()' on a 'String' is wacky; invoking on value 'null' throws
    > 'NullPointerException'.
    >
    > > "Information", JOptionPane.INFORMATION_MESSAGE);

    >
    > >              }
    > >              else
    > >              {
    > >                  JOptionPane.showMessageDialog(this, "Please select a
    > > file" , "Error", JOptionPane.ERROR_MESSAGE);

    >
    > >              }
    > >              this.dcument_Location_jTextField.setText(fl.toString());

    >
    > Invoking 'toString()' on a 'String' is wacky; invoking on value 'null' throws
    > 'NullPointerException'.
    >
    > Variable names (for non-constant or non-final variables) should not contain
    > underscores.
    >
    >
    >
    > >          }
    > >          catch(Exception e)
    > >          {
    > >              JOptionPane.showMessageDialog(this, e.toString(), "Error",
    > > JOptionPane.ERROR_MESSAGE);
    > >          }
    > >      }
    > > ///////////////////////////////////////////////////////////////////////

    >
    > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    > > void insert_Doc()
    > >      {
    > >          try
    > >          {
    > >             IPClass ipc = new IPClass();

    >
    > >              Class.forName("com.mysql.jdbc.Driver");

    >
    > You don't need to attempt to reload a class over and over and over and over
    > and over and ...
    >
    > Once, in a static initializer, is enough.
    >
    > >              Connection con;
    > >              con = DriverManager.getConnection("jdbc:mysql://" + ipc.ip
    > > + "/" + ipc.db,ipc.user,ipc.ps);

    >
    > Why on separate lines?
    >
    > >              //Statement stat = con.createStatement();

    >
    > Use 'PreparedStatement' instead of plain 'Statement' almost always.
    >
    > >               String inserting_Data = "insert into document_archive ("
    > > +
    > >                                      "Doc_ID, Doc_Type, Doc_Name,
    > > Doc_Date, Doc_file, " +

    >
    > Whoa, there, sport!  That's some wide indentation you got there!
    >
    > >                                      "Doc_Bank_NO, Doc_Bank_Name,
    > > Doc_Add_user ) " +
    > >                                      "values (?, ?, ?, ?, ?, ?, ?, ?)";

    >
    > >              PreparedStatement ps = null;

    >
    > Why in the world do you bother initializing 'ps' to 'null'?
    >
    >
    >
    > >              ps = con.prepareStatement(inserting_Data);

    >
    > >              ps.setInt(1,
    > > Integer.valueOf(documen_NO_jTextField.getText()));
    > >              ps.setString(2,
    > > String.valueOf(document_Type_jComboBox.getSelectedItem()));
    > >              ps.setString(3, document_Name_jTextField.getText());
    > >              String today = getDocumentDate();
    > >              ps.setString(4, String.valueOf(today));
    > >              ps.setBinaryStream(5, fis, (int), file.length());
    > >              ps.setString(6,
    > > String.valueOf(bankNOjComboBox.getSelectedItem()));
    > >              ps.setString(7, bankNOjTextField.getText());
    > >              ps.setString(8, userName.useName);
    > >              //ps.setBinaryStream(5, f1, (int) file.length());
    > >              //ps.setString(5, fd.st_FName);

    >
    > >              ps.executeUpdate();
    > >              JOptionPane.showMessageDialog(this, "Document inserted
    > > successfully", "Information", JOptionPane.INFORMATION_MESSAGE);
    > >              clean_Data();

    >
    > Dude!  Separate worker threads from the EDT!
    >
    > This is covered in the Swing tutorial on java.sun.com.  Read it.
    >
    > >          }
    > >          catch(Exception e)
    > >          {
    > >              JOptionPane.showMessageDialog(this, e.toString(), "Error",
    > > JOptionPane.ERROR_MESSAGE);
    > >          }
    > >      }

    >
    > --
    > Lew


    Thank you every body
    I solve the problem
    Best
    Salim
     
    sahm, May 23, 2010
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Edison
    Replies:
    0
    Views:
    348
    Edison
    Oct 2, 2003
  2. Jeffrey H. Coffield
    Replies:
    1
    Views:
    1,862
  3. Roedy Green
    Replies:
    0
    Views:
    1,477
    Roedy Green
    Jul 23, 2009
  4. Edison

    How Read Database whit datos in Format RTF

    Edison, Oct 2, 2003, in forum: ASP .Net Building Controls
    Replies:
    0
    Views:
    131
    Edison
    Oct 2, 2003
  5. Ricardo Pog
    Replies:
    1
    Views:
    436
    Austin Ziegler
    Mar 26, 2008
Loading...

Share This Page