Red de conocimiento informático - Aprendizaje de código fuente - El parámetro especificado excede el rango de valores válido

El parámetro especificado excede el rango de valores válido

A juzgar por su pregunta, esto debería ser una excepción generada por la consulta SQL. Se produce una excepción cuando una instrucción SQL intenta actualizar una fila o columna que no existe, o actualiza un tipo de datos diferente o una longitud de caracteres que excede el límite de la columna. Dado que no enumera la estructura de las tablas en su base de datos, no hay forma de determinar dónde se encuentra su error según su código fuente.

Además, será mejor que utilice SqlParameter para participar en la creación de declaraciones de consulta; de lo contrario, sus declaraciones de consulta serán descuidadas y se producirán errores de sintaxis de parámetros, especialmente en términos de caracteres, tiempo, palabras clave, etc. que son fáciles de encontrar.

Ver la estructura de la tabla complementaria.

Tenga en cuenta que el tipo DataTime de SQL Server es diferente del tipo DataTime de .SQL Server. Le sugiero que deje que SqlParameter lo ayude a convertirlo.

Además, ¿por qué su SQL? El comando UPDATE de la declaración no tiene la declaración WHERE, entonces, ¿cómo sabe la consulta qué fila desea actualizar?

Si desea agregar registros, utilice el comando INSERTAR EN.

Si desea modificar el registro, utilice UPDATE tableName SET.... .WHERE STUD_ID=...

Puede consultarlo:

sqlcon = new SqlConnection(strCon);

string sqlstr = "actualizar STUD_INFO set STUD_NAME=@STUD_NAME, STUD_BIRTHDAY=@ STUD_BIRTHDAY, STUD_GENDER=@STUD_GENDER, STUD_ADDRESS=@STUD_ADDRESS, STUD_TELEPHONE=@STUD_TELEPHONE, STUD_ZIPCODE= @STUD_ZIP CODE,STU_MARK =@STU_MARK donde STUD_ID=@STUD_ID";

sqlcom = new SqlCommand(sqlstr, sqlcon);

sqlcom.add(new SqlParameter("@STUD_BIRTHDAY" , (DateTime). .../* Convertir cumpleaños a tipo DateTime */);

/* Agregar otras columnas a los parámetros, incluido @STUD_ID */

... .. ........

.............

sqlcon.Open();

..........

/* Finalmente borre el conjunto de parámetros**

sqlcom.Parameters.Clear()

;