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

error en consulta con Sql

Estas en el tema de error en consulta con Sql en el foro de .NET en Foros del Web. Hola tengo un problema con una consulta, trabajo vb.net con visual studio 2005. Resulta q al ejecutar la consulta con esta instruccion ds = cnxDB.ExecuteDataset(CommandType.Text, ...
  #1 (permalink)  
Antiguo 27/08/2007, 13:30
 
Fecha de Ingreso: agosto-2006
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 0
error en consulta con Sql

Hola
tengo un problema con una consulta, trabajo vb.net con visual studio 2005.
Resulta q al ejecutar la consulta con esta instruccion
ds = cnxDB.ExecuteDataset(CommandType.Text, sql)
me sale el sgte error: These columns don't currently have unique values.

Pero si la ejecuto directamente en el sqlServer 2005 si me muestra los datos. No se como solucionar esto, asi q pido la ayuda de uds. Gracias
  #2 (permalink)  
Antiguo 27/08/2007, 15:28
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 5 meses
Puntos: 53
Re: error en consulta con Sql

que tencia lleva la variable SQL?

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 27/08/2007, 17:44
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: error en consulta con Sql

Eso es ADO.Net o estas utilizando algun otro producto?
De que tipo es cnxDB ?
__________________
saludos
seba
http://sgomez.blogspot.com
  #4 (permalink)  
Antiguo 29/08/2007, 12:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 99
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: error en consulta con Sql

Gracias por el interes

la sentencia es bastante extensa, se hacen joins entre varias tablas, aca esta:

SELECT sum(INV_MOVIMIENTO.debitos-INV_MOVIMIENTO.creditos) as saldo_anterior,
INV_REFERENCIA.codnivel, INV_REFERENCIA.nomnivel, INV_REFERENCIA.SALDO,
INV_REFERENCIA.codtipo, INV_REFERENCIA.codgrupo, INV_REFERENCIA.codsubgrupo,
INV_MOVIMIENTO.val_costo,INV_MOVIMIENTO.tipodocu, INV_MOVIMIENTO.numdocu,
INV_MOVIMIENTO.fecha, INV_MOVIMIENTO.codnivel AS codnivel_mov,
INV_MOVIMIENTO.nomnivel AS nomnivel_mov, INV_MOVIMIENTO.debitos,
INV_MOVIMIENTO.creditos, TIP_COMPROBANTE.NOMBDOCU, TIP_COMPROBANTE.TIPODOCU
AS tipodocu_tip_comp,inv_T_Tipo.nomtipo, inv_T_Grupo.nomgrupo,
inv_T_subgrupo.nomsubgrupo, inv_T_Grupo.codgrupo AS codigo_grupo,
inv_T_Grupo.codtipo AS cod_tipo, inv_T_subgrupo.codtipo AS Expr3,
inv_T_subgrupo.codgrupo AS Expr4, inv_T_subgrupo.codsubgrupo AS Expr5,
inv_T_Tipo.codtipo AS Expr6 FROM INV_REFERENCIA INNER JOIN INV_MOVIMIENTO ON
INV_REFERENCIA.codnivel = INV_MOVIMIENTO.codnivel INNER JOIN inv_T_Tipo ON
INV_REFERENCIA.codtipo = inv_T_Tipo.codtipo INNER JOIN inv_T_Grupo ON
INV_REFERENCIA.codtipo = inv_T_Grupo.codtipo AND
INV_REFERENCIA.codgrupo = inv_T_Grupo.codgrupo AND
inv_T_Tipo.codtipo = inv_T_Grupo.codtipo INNER JOIN inv_T_subgrupo
ON INV_REFERENCIA.codtipo = inv_T_subgrupo.codtipo AND
INV_REFERENCIA.codgrupo = inv_T_subgrupo.codgrupo AND
INV_REFERENCIA.codsubgrupo = inv_T_subgrupo.codsubgrupo AND
inv_T_Grupo.codtipo = inv_T_subgrupo.codtipo AND inv_T_Grupo.codgrupo =
inv_T_subgrupo.codgrupo INNER JOIN TIP_COMPROBANTE ON
INV_MOVIMIENTO.tipodocu = TIP_COMPROBANTE.TIPODOCU
where fecha between CONVERT(smalldatetime,'2007/1/13 00:00:00.00' ,120) and
CONVERT(smalldatetime,'2007/1/13 00:00:00.00' ,120)
group by INV_REFERENCIA.codnivel, INV_REFERENCIA.nomnivel,INV_REFERENCIA.SALDO,
INV_REFERENCIA.codtipo, INV_REFERENCIA.codgrupo, INV_REFERENCIA.codsubgrupo,
INV_MOVIMIENTO.tipodocu, INV_MOVIMIENTO.numdocu, INV_MOVIMIENTO.fecha,
INV_MOVIMIENTO.codnivel, INV_MOVIMIENTO.nomnivel,INV_MOVIMIENTO.debitos,
INV_MOVIMIENTO.creditos,TIP_COMPROBANTE.NOMBDOCU,T IP_COMPROBANTE.TIPODOCU,
INV_MOVIMIENTO.val_costo,inv_T_Tipo.nomtipo,inv_T_ Grupo.nomgrupo,
inv_T_subgrupo.nomsubgrupo,inv_T_Grupo.codgrupo,in v_T_Grupo.codtipo,
inv_T_subgrupo.codtipo, inv_T_subgrupo.codgrupo, inv_T_subgrupo.codsubgrupo,
inv_T_Tipo.codtipo order by INV_MOVIMIENTO.codnivel,INV_MOVIMIENTO.fecha


Es una conexion OleDB y la funcion ExecuteDataSet es la sgte:
Public Function ExecuteDataset(ByVal commandType As CommandType, ByVal commandText As String) As DataSet

Try
If Mid(servidorProp, 1, 1) = "1" Then''Para sql server
PrepareCommand(cmd, commandType, commandText)
End If
If Mid(servidorProp, 1, 1) = "2" Then''Para Oracle
PrepareCommandOra(cmdOra, commandType, commandText)
End If

Dim ds As DataSet = New DataSet
Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
Dim daOra As OleDbDataAdapter = New OleDbDataAdapter(cmdOra)

If Mid(servidorProp, 1, 1) = "1" Then
da.Fill(ds)
da.FillSchema(ds, SchemaType.Source)

End If
If Mid(servidorProp, 1, 1) = "2" Then
daOra.Fill(ds)
daOra.FillSchema(ds, SchemaType.Source)

End If
Return ds
Catch e As System.Exception
''Throw e
Throw New Exception("Error Sql(ExecuteDataset)" & Chr(13) & Chr(10) & commandText & Chr(13) & Chr(10) & e.Message)

End Try
End Function
  #5 (permalink)  
Antiguo 03/09/2007, 11:27
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 5 meses
Puntos: 53
Re: error en consulta con Sql

ok intentá algo corre esa consulta el query analicer del SQL y alli te tiene que dar un error para mí es que tu sentencia tiene algún error de sintaxis, revisala bien..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
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




La zona horaria es GMT -6. Ahora son las 03:20.