----- Original Message ----- 
From: "Rhino" <[EMAIL PROTECTED]>
To: "Shaffin Bhanji" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Wednesday, August 11, 2004 4:20 PM
Subject: Re: HELP!!! SEVERE: VendorError: 1064 during INSERT


> I think what Victor meant is that you should show the *output* from a
> System.out.println() that displays the exact contents of the SQL string
that
> you are executing.
>
> Can someone refresh my memory: isn't it normal practice to use apostrophes
> (also known as "single quotes") around literals in SQL statements? That's
> the SQL standard as I recall. Then again, I am still relatively new to
MySQL
> which may be more liberal and accept apostrophes....
>
Oops, I meant to say quotes (also known as "double quotes), not apostrophes,
as the last word of that paragraph.

In other words, I always put my values in apostrophes, not quotes when
writing SQL statements in MySQL and DB2, e.g. INSERT INTO MYTABLE
(Firstname, Lastname) VALUES('Bob', 'Smith'), *not* INSERT INTO  MYTABLE
(Firstname, Lastname) VALUES ("Bob", "Smith");

> Also, I think Victor is on to something. Prepared statements are probably
a
> better choice in Java programs in most cases. There is a bit more code to
> write to set the values of all the parameters but you have far fewer
> problems with blanks, apostrophes, or quotes embedded within the literals.
>
> Rhino
>
> ----- Original Message ----- 
> From: "Shaffin Bhanji" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Wednesday, August 11, 2004 4:02 PM
> Subject: RE: HELP!!! SEVERE: VendorError: 1064 during INSERT
>
>
> > The statement is from a System.out.println() and my code is as follows:
> >
> > public boolean insert(String sql) {
> >
> >         try {
> >
> >         System.out.println("Executing INSERT SQL Statement -> "
> > + sql);
> >         statement = conn.createStatement();
> >         boolean rs = statement.execute(sql);
> >         System.out.println("Completed Executing INSERT SQL
> > Statement.");
> >
> >         return true;
> >
> >         } catch (SQLException ex) {
> >             // handle any errors
> >         constant.log.log("SQLException: " + ex.getMessage(),
> > Constants.LOG_SEVERE);
> >         constant.log.log("SQLState: " + ex.getSQLState(),
> > Constants.LOG_SEVERE);
> >         constant.log.log("VendorError: " + ex.getErrorCode(),
> > Constants.LOG_SEVERE);
> >             return false;
> >         }
> >     }
> >
> > The value of sql is:
> >
> > INSERT INTO dirxml.emp
> > (fld_ind_id,fld_frname,fld_srname,fld_init,fld_sh_name1,fld_sh_name2,fld
> > _posnacty_cd,fld_posnacty_name1,fld_posnacty_name2,fld_emp_job_desc1,fld
> > _emp_job_desc2,fld_statrsn_cd,fld_statrsn_name1,fld_statrsn_name2,fld_rs
> > n_cd,fld_aflgrp_cd,fld_aflgrp_name1,fld_aflgrp_name2,fld_city_t_name1,fl
> > d_city_t_name2,fld_manager_indv_id,fld_comm_lang)
> > VALUES("100000087","SANIA","RANCOURT","","Miss","Mlle","TFR","T L VISION
> > FRAN AISE R GIONALE","T L VISION FRAN AISE R GIONALE","MAKE-UP
> > ARTIST","MAQUILLEUR (EUSE)","R01","RETURN TO ACTIVE STATUS","REMISE EN
> > ACTIVIT ","019","U2R","STARF","STARF","QUEBEC","QUEBEC","SYSM63","F");
> >
> > Shaffin.
> >
> >
> >
> > >>> Victor Pendleton <[EMAIL PROTECTED]> 08/11/04 3:41 PM >>>
> > Can you system.out.println the sql statement to verify what you have is
> > correct? Also, are you using prepared statements?
> >
> > -----Original Message-----
> > From: Shaffin Bhanji
> > To: [EMAIL PROTECTED]
> > Sent: 8/11/04 2:07 PM
> > Subject: HELP!!! SEVERE: VendorError: 1064 during INSERT
> >
> > Hello All,
> >
> > I have the following environment:
> >
> > MySQL 4.1.3-beta-standard
> > Connector/J 3.0.14
> > SUN Java JDK 1.4.2
> > SUSE Linux 9.1
> >
> > I have written a java program to insert information into an "emp" table
> > as follows:
> >
> > INSERT INTO dirxml.emp
> > (fld_ind_id,fld_frname,fld_srname,fld_init,fld_sh_name1,fld_sh_name2,fld
> > _posnacty_cd,fld_posnacty_name1,fld_posnacty_name2,fld_emp_job_desc1,fld
> > _emp_job_desc2,fld_statrsn_cd,fld_statrsn_name1,fld_statrsn_name2,fld_rs
> > n_cd,fld_aflgrp_cd,fld_aflgrp_name1,fld_aflgrp_name2,fld_city_t_name1,fl
> > d_city_t_name2,fld_manager_indv_id,fld_comm_lang)
> > VALUES("100000087","SANIA","RANCOURT","","Miss","Mlle","TFR","T L VISION
> > FRAN AISE R GIONALE","T L VISION FRAN AISE R GIONALE","MAKE-UP
> > ARTIST","MAQUILLEUR (EUSE)","R01","RETURN TO ACTIVE STATUS","REMISE EN
> > ACTIVIT ","019","U2R","STARF","STARF","QUEBEC","QUEBEC","SYSM63","F");
> >
> > When I run this statement from MySQL Control Center, it work without any
> > errors but when I execute it via java code, I get the following error:
> > --
> > SEVERE: SQLException: Syntax error or access violation,  message from
> > server: "You have an error in your SQL syntax; check the manual that
> > corresponds to your MySQL server version for the right syntax to use
> > near '"QUEB' at line 1"
> > --
> > SEVERE: SQLState: 42000
> > --
> > SEVERE: VendorError: 1064
> >
> > Can someone please help what I may be doing wrong...
> >
> > Thanks,
> > Shaffin.
> >
> >
> > -- 
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:
> > http://lists.mysql.com/[EMAIL PROTECTED]
> >
> > -- 
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:
> > http://lists.mysql.com/[EMAIL PROTECTED]
> >
> >
> >
> > -- 
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
> >
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to