Visual Basic - Conflicto con SQL

Life is soft - evento anual de software empresarial
 
Vista:

Conflicto con SQL

Publicado por Cristian (14 intervenciones) el 20/10/2001 02:55:28
Tengo que hacer una consultado con dos campos de textos, text1, text2.

Adodc1.RecordSource = SELECT nombre, apellido FROM actor WHERE
nombre = ' " & text1.text & " ' and apellido = ' " & text2.text & " ' "
Adodc1.Refresh

Cuando ambos campos son distintos a vacio, es decir, tienen algun valor no tengo ningun problema.
Pero si uno de esos campos es vacio (nulo, el usuario no le ingresa valor), al buscar el registro, a pesar de que exista un registro sin valor, el Select no lo encuentra.

La base de datos es en ACCESS, y no se si es un problema al ingresar o al buscar o problema con los tipos de vacio o los tipos de los datos.

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:Conflicto con SQL

Publicado por Cha Men (92 intervenciones) el 20/10/2001 05:46:09
a lo mejor el campo de la tabla que dices que está vacío, no lo está, sino, que es Null en su lugar, prueba con eso
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:Conflicto con SQL

Publicado por Cristian (14 intervenciones) el 20/10/2001 06:56:57
Me conecto con OBDC y utilzo un DataGrid, y hago lo siguiente para agregar:

Adodc2.RecordSource = "Select * from Actor where Nombre ='" & Text1(0).Text & "' and Apellido = '" & Text1(1).Text & "' "
Adodc2.Refresh

If (Adodc2.Recordset.RecordCount = 0) Then
//*******Es para ver si el registro no existe********
Adodc1.Recordset.AddNew
DataGrid1.Columns(0).Text = Text1(0).Text
DataGrid1.Columns(1).Text = Text1(1).Text
Adodc1.Recordset.Requery

tengo dos adodc, uno para manejar el datgrid y otro para hacer recorset, si tienen alguna otra idea avisame porfavor.
El problema es que ingreso los datos, uno sin valor, y si ingreso otro dato con los mismos datos, es decir, una sin datos, no me encuentra el registro y me agrega dos registros iguales (con diferentes llaves primerias logicamente)
Chao gracias
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:Conflicto con SQL

Publicado por PonchoWare (88 intervenciones) el 21/10/2001 03:08:29
Pues todo parace estar bien...
En lo personal no he usado ADODC, pero su recorset debe ser como cualquier otro, asi que si usas la condicion:

If (Adodc2.Recordset.RecordCount = 0) Then

esta devolvera siempre 0, notese que entonces tampoco funcionaria con valores distintos de vacio, y tu dices que si funciona, asi que yo estaria en un error.

De cualquier manera prueba con la condicion

If (Adodc2.Recordset.EOF) Then

si no hay ningun registro entonces el registro actual apuntara a EOF, si existe alguno el registro actual apuntara al mismo.

Otra opcion seria usar:
Adodc2.Recordset.MoveLast
If (Adodc2.Recordset.RecordCount = 0) Then

Prueba haber que pasa, 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