Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2004, 11:08
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
problema con insertar registro (por formulario)

eso uso driver ms sql server 2000

Código:
<%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*" %> 

<% 

if(request.getParameter("GRABAR") != null)

{

// objetos de enlace

Connection canal = null;
//ResultSet tabla= null; 
String host = "aguzman";
String db = "prueba";
int puerto = 1433;
Statement instruccion=null;
String usuario = "aguzman";
String contrasenia ="zsamer";
String strcon = "jdbc:microsoft:sqlserver://"+ host +":"+ puerto +";DatabaseName="+db+";";


// abriendo canal o enlace en su propio try-catch

try {

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

canal=DriverManager.getConnection(strcon, usuario, contrasenia);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {}; 

//cargando los campos a grabar

// excepto clave porque en mysql es de tipo auto-increment


    
String userid =request.getParameter("userid");

String nombre =request.getParameter("nombre");
                                         
String apaterno =request.getParameter("apaterno");   

String q="insert into cliente(userid,nombre,apaterno) values(\"" +userid+"\","+nombre+","+apaterno+"); ";

try {

// agregando renglon (insert)

int n=instruccion.executeUpdate(q);

//avisando que se hizo la instruccion

out.println("REGISTRO INSERTADO");

} catch(SQLException e) {out.println(e);};

try{

// tabla.close(); 

instruccion.close(); 

canal.close();

} catch(SQLException e) {out.println(e);};

};

// construyendo forma dinamica

out.println("<FORM ACTION=insert.jsp METHOD=post>");

out.println("Usuario :<INPUT TYPE=TEXT NAME=userid><BR>");

out.println("Nombre :<INPUT TYPE=TEXT NAME=nombre><BR>");

out.println("Apellido:<INPUT TYPE=TEXT NAME=apaterno><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=GRABAR VALUE=INSERTAR ><BR>");

out.println("</FORM>");

%>
el ensaje de error es el siguiente:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]El nombre 'xxxx' no es válido en este contexto. Sólo se permiten constantes, expresiones o variables. No se permiten nombres de columna.

Última edición por zsamer; 16/07/2004 a las 11:15