Principales respuestas
no encuentro solucion al error

Pregunta
-
buen dia a todos
estoy trabajando con visual web developer y conectandome a sql ke ya vienen empaketados bueno hice una base de datos con una tabla ke tiene 28 campos ok? bueno para insertar los datos en mi tabla realize mi formulario y asi y bueno
tengo el siguiente codigo para insertar el registro en mi tabla ke ya antes habia probado con otro pekeño proyuectito y me funciono a la perfeccion no marco errores pero no era tan grande la tabla el codigo es el siguiente
Imports
System.Data.SqlClient
Partial
Class
nuevo_reg
Inherits System.Web.UI.
Page
Dim con As
SqlConnection
Dim cmd As
SqlCommand
Protected Sub guardarButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles
guardarButton.Click
con =
New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\krlox\Documents\Visual Studio 2010\WebSites\ajustes\App_Data\base_ajustes.mdf;Integrated Security=True;User Instance=True"
)
con.Open()
cmd =
New SqlCommand("insert into ajustes values ('" + susoTextBox.Text + "','" + sub_susoTextBox.Text + "','" + mesTextBox.Text + "','" + fech_recibCalendar.SelectedDate + "','" + comerDropDownList.SelectedValue + "','" + Tipo_ajusteDropDownList.SelectedValue + "','" + cuenta_maestraTextBox.Text + "','" + tel_pisaTextBox.Text + "','" + divisionDropDownList.SelectedValue + "','" + descripTextBox.Text + "','" + fech_asigCalendar.SelectedDate + "','" + Valor_susoTextBox.Text + "','" + observacionesTextBox.Text + "','" + mesesTextBox.Text + "','" + ejecutivoDropDownList.SelectedValue + "','" + motivoDropDownList.SelectedValue + "','" + autorizaTextBox.Text + "','" + areaDropDownList.SelectedValue + "','" + cliente.Text + "','" + ajusteTextBox.Text + "','" + impuestosTextBox.Text + "','" + firmaTextBox.Text + "','" + StatusDropDownList.SelectedValue + "','" + accion_mejoraTextBox.Text + "','" + Fech_finCalendar.SelectedDate + "','" + Fech_autorizaCalendar.SelectedDate + "','" + Tipo_ajusteDropDownList.SelectedValue + "','" + Tipo_servicioDropDownList.SelectedValue + "')"
, con)
cmd.ExecuteNonQuery()
con.Close()
Label1.Text =
"Guardado con Exito!!!!!!!"
End
Sub
End
Class
repito ke este codigo ya lo hab ia utilizado y me funciono a la perfeccion pero en esta ocacion me marka un error y no se a ke se refiera me dice ke los valores binarios o de kadena se truncaran y ke termina por eso la ejecucion pero no se ke hacerle
este es el error ke me arroja
String or binary data would be truncated.
The statement has been terminated.y lomarca en la siguiente line cosa ke no entiendo por ke
cmd.ExecuteNonQuery()
si alguien puede ayudarme se los agradesere muchisimo gracias
Respuestas
-
hola
el error indica que el texto que le pasas al campo excede el tamaño definido para el mismo
noto dos problemas
- primero no defines los campos
o sea en el INSERT no pones el
INSERT INTO NombreTabla (campo1,campo2) VALUES (@param1, @param2)
o sea define los nombres de los campos porque sino estas condicionado a que el orden de cada valore debe ser exacto a como lo pasas en el VALUES
- segun y muy pero muy importante, usa parametro
revisa este articulo
[ADO.NET] – Parte 5 - Ejemplos Simples – Operaciones CRUD
veras alli que uso el
cmd.Parameters.AddWithValue()
bueno este es justamente lo que deberias usar para evitar problemas, y no concatenar el string
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta krlox1987 lunes, 8 de agosto de 2011 21:42
Todas las respuestas
-
hola
el error indica que el texto que le pasas al campo excede el tamaño definido para el mismo
noto dos problemas
- primero no defines los campos
o sea en el INSERT no pones el
INSERT INTO NombreTabla (campo1,campo2) VALUES (@param1, @param2)
o sea define los nombres de los campos porque sino estas condicionado a que el orden de cada valore debe ser exacto a como lo pasas en el VALUES
- segun y muy pero muy importante, usa parametro
revisa este articulo
[ADO.NET] – Parte 5 - Ejemplos Simples – Operaciones CRUD
veras alli que uso el
cmd.Parameters.AddWithValue()
bueno este es justamente lo que deberias usar para evitar problemas, y no concatenar el string
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta krlox1987 lunes, 8 de agosto de 2011 21:42
-
mira las verdad es ke como mencionaba asi tal cual ya habia ocupado el codigo asi sin mencionar el orden de los campos y mehabia funcionado a la perfeccion pero tendre ke hacer pruebas con lo que tu me dijiste para ver como funciona muchas gracias
me has ayudado mucho ultimamente gracias