Stinger 0 Denunciar post Postado Dezembro 6, 2005 Migrei minha aplicação de Access para MS SQL Server e estou com um erro quando faça conexão ao banco de dados usando uma relação entre várias tabelas. Quando tento retornar o valor no datagrid aparece uma mensagem de erro falando que não foi encontrado o campo. Estou fazendo a connectionstring da seguinte maneira: "SELECT tbPedidos.*, tbMercados.*, tbCategorias.*, tbDestino.* " & _ "FROM ((tbPedidos INNER JOIN tbMercados ON tbPedidos.ID_Mercado = tbMercados.ID_Mercado) INNER JOIN tbCategorias ON tbPedidos.ID_Categoria = tbCategorias.ID_Categoria) INNER JOIN tbDestino ON tbPedidos.ID_Destino = tbDestino.ID_Destino " & _ "WHERE bln_Emitido = 0 AND bln_Concluido = 0 ORDER BY tbPedidos.ID_Pedido DESC" Como existe o mesmo campo em 2 tabelas diferentes eu tento acessá-los da seguinte maneira através do datagrid: <asp:BoundColumn DataField="tbMercados.txt_Abrev" HeaderText="Merc." HeaderStyle-Width="40px"/><asp:BoundColumn DataField="tbCategorias.txt_Abrev" HeaderText="Cat." HeaderStyle-Width="40px"/> Dessa maneira funcionava com o access.. mas no SQL Server não funciona. Se alguém souber onde estou errando.. Vlw.. Compartilhar este post Link para o post Compartilhar em outros sites
Tiago Colombo 0 Denunciar post Postado Dezembro 6, 2005 Olá,como você está criando o seu DataSource??? e vinculando-o ao DataGrid???[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Stinger 0 Denunciar post Postado Dezembro 7, 2005 Meu código para carregar o DataGrid está da seguinte maneira: Public Shared Sub dgFill(ByVal strSQL As String, ByVal objDG As DataGrid, ByVal objDb As SqlConnection) '##################################' '### Preencher DataGrid ###' '##################################' Dim objCmd As New SqlDataAdapter(strSQL, objDb) Dim dt As New DataTable objCmd.Fill(dt) If dt.Rows.Count > 0 Then objDG.DataSource = dt : objDG.DataBind() Else objDG.Visible = False End Sub Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then Call Administracao.dgFill(strSQL_Nao, dgNao, sysGbl.objLogistica) If dgNao.Items.Count = 0 Then hlNao.Visible = False End If End Sub PS: strSQL_Nao é o código do primeiro post. Compartilhar este post Link para o post Compartilhar em outros sites
DiFalco 0 Denunciar post Postado Dezembro 7, 2005 cara.. você vai precisar de todos os campos das tabelas q você selecionou ??? pq senao vai eu sugiro você colocar somente os campos q você quer e colocar um alias nas tabelas para facilitar sua vida...[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Stinger 0 Denunciar post Postado Dezembro 7, 2005 Seriam todos os campos das tabelas mesmo, é um datagrid gigante esse...Teria um exemplo de como eu posso definir um Alias, já haviam comentado que eu poderia fazer isso, mas não sei como. Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Dezembro 7, 2005 Olá Stinger,uma forma seria assimselect campo AS Apelido_sem_espacoou assimselect campo AS [apelido com espaco]falowst+ Compartilhar este post Link para o post Compartilhar em outros sites
Stinger 0 Denunciar post Postado Dezembro 8, 2005 Valew... definir um alias funcionou.. O problema agora é fazer isso em toda a aplicação hehe.. Compartilhar este post Link para o post Compartilhar em outros sites