0

Hello!
I am trying to add new data into a database.
What is the mistake in my code?
I got the error message such as "general error".

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class AddRecord implements ActionListener{
    private ScrollingPanel fields;
    private JTextArea output;
    private Connection connection;
    public AddRecord(Connection c, ScrollingPanel f, JTextArea o)
    {
     connection =c;
     fields=f;
     output=o;
    }
    public void actionPerformed( ActionEvent e)
    {
      try {
           Statement statement=connection.createStatement();
           if( !fields.last.getText().equals("")&&
                !fields.first.getText().equals("")){
                String query="INSERT INTO addresses ("+
                "firstname, lastname, address, city,"+
                "stateorprovince, postalcode, country,"+
                "emailaddress, homephone, faxnumber"+
                ") VALUES ('"+
                fields.first.getText()+"','"+
                fields.last.getText()+"','"+
                fields.address.getText()+"','"+
                fields.city.getText()+"','"+
                fields.state.getText()+"','"+
                fields.zip.getText()+"','"+
                fields.country.getText()+"','"+
                fields.email.getText()+"','"+
                fields.home.getText()+"','"+
                fields.fax.getText()+"')";
            output.append("\nSending query:"+ connection.nativeSQL(query)+"\n");
            int result=statement.executeUpdate(query);
            if (result==1)
              output.append("\nInsertion successful\n");
              else {
               output.append("\nInsertion failed\n");
               fields.first.setText("");
               fields.last.setText("");
               fields.address.setText("");
               fields.city.setText("");
               fields.state.setText("");
               fields.zip.setText("");
               fields.country.setText("");
               fields.email.setText("");
               fields.home.setText("");
               fields.fax.setText("");
              }
          }
          else
           output.append("\nEnter at least first and "+
                         "last name then press Add\n");
           statement.close();
          }
          catch (SQLException sqlex){
           sqlex.printStackTrace();
           output.append(sqlex.toString());
           }
          }
        }
2
Contributors
1
Reply
2
Views
10 Years
Discussion Span
Last Post by masijade
0

Try using a preparedStatement rather than cobbling together a query statement like that.

See the API and Sun tutorials (a link can be found in the API) for more info.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.