none
no encuentro solucion al error RRS feed

  • 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

     

    lunes, 8 de agosto de 2011 16:26

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
    lunes, 8 de agosto de 2011 19:18

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
    lunes, 8 de agosto de 2011 19:18
  • 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

    lunes, 8 de agosto de 2011 21:47