Foros del Web » Programación para mayores de 30 ;) » .NET »

Error raro al hacer INSERT INTO desde VB.NET

Estas en el tema de Error raro al hacer INSERT INTO desde VB.NET en el foro de .NET en Foros del Web. Buenas tardes, ya estoy incordiando otra vez xD Haber, en uno de los formularios que tengo, intento insertar con INNER JOIN (como hacia hasta ahora ...
  #1 (permalink)  
Antiguo 26/07/2005, 10:26
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 3 meses
Puntos: 0
Error raro al hacer INSERT INTO desde VB.NET

Buenas tardes, ya estoy incordiando otra vez xD

Haber, en uno de los formularios que tengo, intento insertar con INNER JOIN (como hacia hasta ahora si casi problemas), pero me sale un mensaje de error diciendo "Los datos de cadena o binarios se truncarian. Se termino la instruccion"
Y no se muy bien a que se refiere.

El codigo es este:

Código:
Dim SqlCommando As New SqlCommand("INSERT INTO tbl1ComputerConfig(IdXNComputer, idNItem, fldTComuperName, fldTDomainName, idNUser, fldTCPU, fldNCPUspeed, fldNRAM, fldTTipDriveA, fldTTipDriveB, fldTGbDriveC, fldTGbDriveD, fldTGbDriveE, fldTGbDriveF, fldTCDROMDrive, fldTOtherDrives, fldTVideo, fldTLANCard, fldTMAC) VALUES(' " & txtCodigo.Text & " ',' " & sel & " ',' " & txtComputerName.Text & " ',' " & txtDominio.Text & " ',' " & usuario & " ',' " & txtCpu.Text & " ',' " & txtVelocidad.Text & "',' " & txtRam.Text & "',' " & txtA.Text & "',' " & txtB.Text & "',' " & txtC.Text & "',' " & txtD.Text & "',' " & txtE.Text & "',' " & txtF.Text & "',' " & txtCDROM.Text & "',' " & txtOtros.Text & "',' " & txtVideo.Text & "',' " & txtLan.Text & "',' " & txtMac.Text & "')", conection)
SqlCommando.ExecuteNonQuery()
MsgBox("Inserción realizada con éxito")
refrescar = 0
conection.Close()
Dim frm As New frmModItemAsset
frm.Show()
Me.Close()
No creo que sea por el INNER que es muy grande no???

Gracias

Última edición por fredy666; 26/07/2005 a las 10:43
  #2 (permalink)  
Antiguo 26/07/2005, 10:33
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
a que te refieres a insertar con inner, a insertar en 2 tablas simultaneamente???

Si es así, deberías utilizar transacciones
  #3 (permalink)  
Antiguo 26/07/2005, 10:40
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 3 meses
Puntos: 0
Perdona, me refiero con un INSERT INTO, que voy ya liao despues de todo el dia dandole al .net :p

Aunque ya he encontrado el problema, pero no lo entiendo. Tengo en la tabla de SQLSERVER un campo fldTCDROM el cual es de tipo nvarchar, con longitud maxima 1, y cuando lo inserto desde vb.net unicamente le pongo una letra "D", y ahi es donde me da el error :(

PD: Como paso un valo introducido en un textbox a float???


Muchas gracias
  #4 (permalink)  
Antiguo 26/07/2005, 10:45
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Si has descubierto que es ese el error, y sintiendo mucho, no poder ayudarte, pero (aunque aqui seguro que hay alguien que lo sabe), te recomiendo el foro de base de datos donde seguramente obtendrás una respuesta más rápida.
  #5 (permalink)  
Antiguo 26/07/2005, 10:49
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 3 meses
Puntos: 0
OK, muchas gracias, mañana lo posteare, que ahora me voy a casa ya xD

Ta luego
  #6 (permalink)  
Antiguo 26/07/2005, 12:32
Avatar de Alexis_m20  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 71
Antigüedad: 20 años, 4 meses
Puntos: 0
Pero mandalo como cdbl(valor), yo que sepa el float es numerico y si le pasas una "D" se te va a caer, simple como eso
__________________
_______________________
Si Puedo Ayudar lo HARE
Mi web Pages
  #7 (permalink)  
Antiguo 26/07/2005, 13:48
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Espero no haber llegado tarde, ese error es porque hay un campo que sobre pasa los limites de tu tipo de dato por ejemplo yo tenia un string de 50 y en mi caja de texto no lo tenia limitado podia meter mas de 50 asi que por eso me mandaba ese error.

espero y te oriente.
__________________
grissss :Zzz:
  #8 (permalink)  
Antiguo 27/07/2005, 00:16
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por Alexis_m20
Pero mandalo como cdbl(valor), yo que sepa el float es numerico y si le pasas una "D" se te va a caer, simple como eso
Esque hay dos camopos distintos, uno es varchar, el cual no logro introducirle una letra, y el otro es float (que ya tengo solucionada la insercion).

En cuanto a la longitud no lo creo ya que en la tabla tiene longitud 1 y yo solo introduzco 1 valor.
  #9 (permalink)  
Antiguo 27/07/2005, 00:42
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
jaja da la casualidad de que a mi me esta pasando lo mismo que a ti carnal FREDY666 y el error esta en lo siguiente:

tienes cualquier cuadro de texto: txtCuadro.text = string
y tienes un campo en tu base de datos por ejemplo: nvarchar

bueno no existe el tipo string en base de datos, al menos que metas una gran variable de tipo TEXT ahi si te haria la insercion del registro, por lo tanto yo uso parametros para insertar mis registros en la base de datos =S como lo haces bueno aqui va, espero no equivocarme por que ya es tarde...

suponiendo que en tu tabla tienes 2 campos nombre y apellido:

comando = new sqlcommand("INSERT INTO tabla(nombre,apellido) VALUES ('@nombre','@apellido'")

comando.Parameters.Add("@nombre", SqlDbType.NVarChar, 50, "nombre")
'donde:
'"@nombre" --> Es el parametro o el valor que se insertara dentro de tu tabla
'sqldbtype.x --> Es el tipo de datos aceptados por SQL, y es un trabajo con las image asi que si pretendes usarlas me echas un fon o un mensajin
'50 --> aqui le puedes dar cualquier valor, este numerito mongol es la longitud de tu campo, pero no en SQL Server sino en Visual basic .NET, aguas con que le pongas de mas
'"nombre" --> es la columna de tu tabla sin mas problemas

'esta linea va a tomar el valor de la caja de texto hacia @nombre
comando.Parameters("@nombre").Value = txtNombre.Text

comando.Parameters.Add("@apellido", SqlDbType.NVarChar, 70, "nombre")
comando.Parameters("@apellido").Value = txtApellido.Text

'si quieres usa un try para evitar que se atonteje tu maquinita mmmmm, ah verdad
Try
comando.ExecuteNonQuery
Catch ex As Exception
Return ex.Message
End Try

y listo eso te permitira guardar tus datos convirtiendo de tipo string a tipo nvarchar, okas...
  #10 (permalink)  
Antiguo 27/07/2005, 00:47
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
me falto antes de todo esto colocas la conexion en open y cuando acabes en close, espero ahora si haber resuelto tu duda y no es necesario postearlo a otro FORO sino que aqui po demos y sino pues lo hacemos hasta que quede como camot... no, ah verdad me exalte, espero haber ayudado, por cierto hace como 2 semanas coloque un mensajin que solicitaba ayuda para poder grabar con una webcam o usar una camara digital con VB, no se preocupen ya esta todo solucionado
  #11 (permalink)  
Antiguo 27/07/2005, 00:58
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 3 meses
Puntos: 0
JAJAJAJAJA pues eso no lo habia pensado xD. Bueno por ahora lo dejo asi que me corre prisa entregarlo, y para la semana que biene lo termino bien xD

Muchas gracias
  #12 (permalink)  
Antiguo 21/01/2014, 14:59
 
Fecha de Ingreso: enero-2014
Ubicación: Cartago-Valle
Mensajes: 3
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Error raro al hacer INSERT INTO desde VB.NET

Hola tengo un error parecido, pero la diferencia es que cuando hago el insert into me sale un error ya que el campo de la base de datos es numeric (14,4) y no se en que tipo de dato convertirlo o hacerlo con parámetros como vos decís.

La diferencia es que yo programo en VB.NET, pero solo dime como haces vos para insertar un dato entero en un campo numeric (14,4), dicho campo esta en la BD SQLSERVER 2012, hágalo asi sea en su lenguaje que yo aquí lo traduzco gracias.

Este es mi codigo:

Código ASP:
Ver original
  1. Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
  2.         Dim conexion As New SqlConnection
  3.         Dim comando As New SqlCommand
  4.         conexion.ConnectionString = "Data Source=" + dirbd + instanciasql + puerto + "Initial Catalog=" + bdlocal + "User ID=" + usuario + "Password=" + contraseña
  5.         conexion.Open()
  6.         Dim cant As String
  7.         comando.CommandText = "INSERT INTO BI (bi.qtt2)VALUES('" + TxtEntrega.Text + "') " ' el dato entero lo escribo en el TxtEntrega.Text, pero no se como hacer para guardarlo.
  8.         comando.Connection = conexion
  9.         comando.ExecuteNonQuery()
  10.         conexion.Close()
  11.         conexion.Dispose()
  12.         comando.Dispose()
  13.         Response.Write("<script>window.alert('Guardado');</script>")
  14.  
  15.     End Sub
  #13 (permalink)  
Antiguo 24/01/2014, 14:47
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Error raro al hacer INSERT INTO desde VB.NET

Lo primero, no deberías reabrir un hilo de hace tanto tiempo.

Segundo, tienes que quitar las comillas, porque los campos númericos no deben llevar.

Código vb:
Ver original
  1. comando.CommandText = "INSERT INTO BI (bi.qtt2)VALUES(" + TxtEntrega.Text + ")"

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:21.