Visual Basic.NET - Insert

   
Vista:

Insert

Publicado por cristian (29 intervenciones) el 31/01/2008 02:31:31
hola como les va, tengo una duda

quiero guardar los datos de un texbox en una tabla, el codigo del boton es

Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
conectar()
Dim rs As ADODB.Recordset
rs = New ADODB.Recordset
cadena = "select * from Licencia"
rs.Open(cadena, miconexion, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
grilla1.Recordset = rs
End Sub

pero me dice: el operado '&' no esta definido para los tipos 'string' y 'system.windows.forms.textbox'

si alguien me puede orientar por favor
gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insert

Publicado por hector (78 intervenciones) el 31/01/2008 13:11:42
Cristian, espero no estar quedando ciego, pero en que momento estas guardando??, con ese código solo seleccionas la tablla Licencia, si no me equivoco. Para guardar debe ser:

Dim rs As ADODB.Recordset
rs = New ADODB.Recordset
cadena="INSERT INTO LICENCIA(aqui van tuscampos separados por coma) VALUES(aqui van los textbox separados por coma)"
rs.Open(cadena, miconexion, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
rs.close

lostextbox van de lasiguiente manera si son string= ' " & textbox.tex & " ' y si son numericos=' & textbox.tex & '.

Espero te sirva
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insert

Publicado por cristian (29 intervenciones) el 31/01/2008 15:29:02
gracias me sirvio, ahora se estan almacenando los datos ingresados a traves de este boton en la BD sql2000.
una consulta, te cuento quisiera saber como le hago para que me muestre inmediatamente el valor ingresado y que si se repite la clave principal, que me indique que el documento ya esta registrado?
el codigo es este

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Dim cadena1 As String
Dim rsLicencia As ADODB.Recordset
rsLicencia = New ADODB.Recordset
cadena1 = "insert into Licencia (NºLicencia,tipolicencia) values('" & text_codigo.Text & "','" & text_cantidad.Text & "')"
rsLicencia.Open(cadena1, miconexion, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)


End Sub
ayuda plis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insert

Publicado por hector (78 intervenciones) el 31/01/2008 16:03:46
Mmmmm creo que para que te muestre inmediatamente el dato ingresado en los textbox es asi:

rs.fields("NºLicencia")=text_codigo.text
rs.fieldsd("cantidad")=text_cantidad.text

Tienes que probar es que yo en Visual 6 trabajo con ADODB y noo tengo instalado elvisual 6 en mi PC para revisar unos codigos, porque ahora estoy trabajando en .NET con oldbconnection y dataset, pero prueba tiene que ser eso, sino me dices y nos comunicamos por mail mejor para enviarte ejemplos.

bueno si se repite la clave principal tienes que preguntar nada mas con un IF:

dim contador1,contador2 as integer
contador1=rs.rowscount 'ahi tieness que buscar cual esla propiedad para contar registros, es algo de count
contador2=0
while (contador1>contador2) do
if rs.fields("NºLicencia")=text_codigo.text then
msjbox("error ya existe")
endif
contador2=contador2+1
loop

Espero que funcione sino ya sabes meescribes al mail y busco el visual 6 para instalarlo de nuevo y enviarte ejemplos
Saludos
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar