2012-08-07 1 views
1

액세스 db에서 데이터를로드하고 있지만 길이가없는 열에 문제가 있습니다. 다음은 ASP 코드 :이 데이터 나던 존재하지만하지 작동하는 경우이 데이터 길이가 0이면 액세스 데이터를 어떻게로드합니까?

sql= "select * from clientes where usuario_clientes="+id_usuario 
     rs.Open sql, oConn 
     while not rs.EOF  
      nombre=rs.Fields("Nombre_clientes") 
      dni=rs.Fields("dni_clientes") 
      mail=rs.Fields("mail_clientes") 
      domicilio=rs.Fields("direccion_clientes") 
      cp=CStr(rs.Fields("cp_clientes")) 
      poblacion=rs.Fields("poblacion_clientes")   
      movil=rs.Fields("movil_clientes") 

      if not rs.Fields("observaciones_clientes") then 
       observaciones=" " 
      else 
       observaciones=rs.Fields("observaciones_clientes") 
      end if 

      if not rs.Fields("telefono_clientes") then 
       telefono="" 
      else 
       telefono=rs.Fields("telefono_clientes") 
      end if 


      fila="<tr><td>"+nombre+"</td><td>"+dni+"</td><td>"+mail+"</td><td>"+domicilio+"</td><td>"+cp+"</td><td>"+poblacion+"</td><td>"+telefono+"</td><td>"+movil+"</td><td>"+observaciones+"</td></tr>" 
      response.Write(fila) 
      rs.MoveNext 
     wend 

내가 아이폰에 0 문자열을 보여주기 위해 노력했다.

답변

2

잘 모르겠지만 MS Access는 일반적으로 길이가 0 인 문자열을 허용하지 않도록 설정되므로이 필드는 null 일 수 있습니다. 아마도 :

if IsNull(rs.Fields("telefono_clientes")) then 
    telefono="--" 
else 
+0

첫 번째 감사. 하지만 문자열의 길이가 0 인 경우 어떻게 구분할 수 있습니까? 나는 ren (rs.Fields ("telefono_clientes")) == 0이면 tryed하지만 작동하지 않는다. – Mikelon85

+0

rs.Fields ("telefono_clientes") = ""'? 필드가 null이기 때문에 일반적으로 작동하지 않습니다. 'rs.Fields ("telefono_clientes") & ""= ""'라고 말하면 null을 ""로 바꿀 수 있습니다. 또는'Trim (rs.Fields ("telefono_clientes")) & ""= ""', 널 (null), 길이가 0이고 공백으로 채워집니다. – Fionnuala

+0

완벽하게 작동합니다. 정말 고마워요! – Mikelon85