Mostrar datos en gridview con tablas unidas
Hola.. Quisiera saber si me podrías ayudar con lo siguiente..
Estoy realizando un pequeño proyecto en visual Basic.Net y usando sql server.. En este ultimo tengo 3 tablas.. Las cuales se relacionan así:
Tablas SM3GUIA y sm3ped Columnas: SM3GUIA. NUM_REF y sm2ped. NUM_REF
Tablas sm3ped y cmcli Columnas sm3ped.RFCCTE y cmcli.RFC
Para ello tengo un inner join creado en el sqlDataSource... A continuación pongo el código y marco con negritas donde se me marca el error:
Dim conn5 As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=6X.XX.XXX.9X;Initial Catalog=DATABASE1;Persist Security Info=True;User ID=usuario01;Password=xxxxxx")
Dim objCmd5 As SqlClient.SqlCommand = New SqlClient.SqlCommand("SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM, sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA FROM SM3GUIA INNER JOIN (sm3ped INNER JOIN cmcli ON sm3ped.RFCCTE=cmcli.RFC) ON sm3ped.NUM_REF=SM3GUIA.NUM_REF WHERE (sm3ped.NUM_REF=('" & txtbuscar.Text & "')", conn5)
Dim ObjLector5 As SqlClient.SqlDataReader
Dim datgr5 As New DataGrid
'Con esto lleno el gridview
Me.SqlDataSource13.SelectParameters("NUM_REF").Def aultValue = Me.txtconsulta.Text
Me.SqlDataSource13.DataSourceMode = SqlDataSourceMode.DataReader
objCmd5.Connection.Open()
ObjLector5 = objCmd5.ExecuteReader
Me.GridView6.DataSourceID = String.Empty
Me.GridView6.DataSource = ObjLector5
Me.GridView6.DataBind()
ObjLector5.Close()
objCmd5.Connection.Close()
If Me.GridView6.Rows().Count = 0 Then MsgBox("No se Encuentran Datos", MsgBoxStyle.OkOnly)
'Codigo del SqlDataSource
SelectCommand="SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM,
sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA
FROM sm3ped INNER JOIN
SM3GUIA ON SM3GUIA.NUM_REF=sm3ped.NUM_REF INNER JOIN
cmcli ON sm3ped.RFCCTE=cmcli.RFC
WHERE (sm3ped.NUM_REF=@NUM_REF)">
<SelectParameters>
<asp:ControlParameter ControlID="txtbuscar" Name="NUM_REF"
PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
----------------------------------------------------
Al momento de ejecutarlo me muestra error en sintaxis.. Que me falta un On.. Pero el inner join que tengo creo que ya esta correcto.. Necesito más ideas para hacer esto.. ¿me puedes ayudar? De antemano.. Gracias..
Estoy realizando un pequeño proyecto en visual Basic.Net y usando sql server.. En este ultimo tengo 3 tablas.. Las cuales se relacionan así:
Tablas SM3GUIA y sm3ped Columnas: SM3GUIA. NUM_REF y sm2ped. NUM_REF
Tablas sm3ped y cmcli Columnas sm3ped.RFCCTE y cmcli.RFC
Para ello tengo un inner join creado en el sqlDataSource... A continuación pongo el código y marco con negritas donde se me marca el error:
Dim conn5 As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=6X.XX.XXX.9X;Initial Catalog=DATABASE1;Persist Security Info=True;User ID=usuario01;Password=xxxxxx")
Dim objCmd5 As SqlClient.SqlCommand = New SqlClient.SqlCommand("SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM, sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA FROM SM3GUIA INNER JOIN (sm3ped INNER JOIN cmcli ON sm3ped.RFCCTE=cmcli.RFC) ON sm3ped.NUM_REF=SM3GUIA.NUM_REF WHERE (sm3ped.NUM_REF=('" & txtbuscar.Text & "')", conn5)
Dim ObjLector5 As SqlClient.SqlDataReader
Dim datgr5 As New DataGrid
'Con esto lleno el gridview
Me.SqlDataSource13.SelectParameters("NUM_REF").Def aultValue = Me.txtconsulta.Text
Me.SqlDataSource13.DataSourceMode = SqlDataSourceMode.DataReader
objCmd5.Connection.Open()
ObjLector5 = objCmd5.ExecuteReader
Me.GridView6.DataSourceID = String.Empty
Me.GridView6.DataSource = ObjLector5
Me.GridView6.DataBind()
ObjLector5.Close()
objCmd5.Connection.Close()
If Me.GridView6.Rows().Count = 0 Then MsgBox("No se Encuentran Datos", MsgBoxStyle.OkOnly)
'Codigo del SqlDataSource
SelectCommand="SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM,
sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA
FROM sm3ped INNER JOIN
SM3GUIA ON SM3GUIA.NUM_REF=sm3ped.NUM_REF INNER JOIN
cmcli ON sm3ped.RFCCTE=cmcli.RFC
WHERE (sm3ped.NUM_REF=@NUM_REF)">
<SelectParameters>
<asp:ControlParameter ControlID="txtbuscar" Name="NUM_REF"
PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
----------------------------------------------------
Al momento de ejecutarlo me muestra error en sintaxis.. Que me falta un On.. Pero el inner join que tengo creo que ya esta correcto.. Necesito más ideas para hacer esto.. ¿me puedes ayudar? De antemano.. Gracias..
1 respuesta
Respuesta de Roberto Alvarado
1