Usuário com melhor resposta
datagrid com chave estrangeira

Pergunta
-
Pessoal, estou com um form q possui um datagrid q chama para ele a tabela: "valorrecebidocliente" do banco de dados.
É Uma tabela que possui cod, data, valor, observacoes e a chave estrangeira "cod_Cliente" da tabela Cliente.
Mas ao chamar no datagrid na parte do cod_cliente fica o codigo dele... queria saber se tem como mostrar ao inves do codigo.. mostrar o nome_Cliente...pra chamar pro datagrid esta assim:
Dim con As MySqlConnection Dim cmd As MySqlCommand Dim dt As New DataTable con = New MySqlConnection con.ConnectionString = "Persist Security Info=True;server=localhost;User Id=root; password=admin;database=workshopmanager" con.Open() cmd = con.CreateCommand With cmd cmd.CommandType = CommandType.Text cmd.CommandText = "SELECT * FROM valorrecebidocliente" dt.Load(cmd.ExecuteReader()) frm_TeladeContas.DataGridView1.DataSource = dt.Copy() End With con.Close()
Dentro do datagrid, eu queria transformar esse cod_Cliente no nome_Cliente da tabela Cliente.... pq fica mostrando o numero do codigo e é zuado isso..
Eu pesquisei um poco e achei alguns lugares q falavam q tinha q usar o SELECT com o INNER JOIN... mas nao consegui fazerAlguem pode me ajudar?? valeeu
Respostas
-
Desculpa esqueci k e vb:
Private Sub button12_Click(sender As Object, e As EventArgs) Dim sql As String = "Select c.OBS, a.FirstName From Table_OBS c Inner Join Table_Inf a ON c.IDMe = a.ID Where c.IDMe =@ID" Dim conecao As New SqlConnection() conecao.ConnectionString = "Data Source=LEVI-PC\SQLEXPRESS;Initial Catalog=Teste_One;Integrated Security=True" Dim tabela As DataTable = Nothing Try Using conecao Dim comandos As New SqlCommand() comandos.CommandText = sql comandos.CommandType = System.Data.CommandType.Text comandos.Connection = conecao comandos.Parameters.AddWithValue("@ID", textBox1.Text) Dim adapter As New SqlDataAdapter() adapter.SelectCommand = comandos tabela = New DataTable() adapter.Fill(tabela) Me.dataGridView2.DataSource = tabela End Using Catch ex As Exception ex.Message.ToString() End Try End Sub
http://malange-levi.blogspot.co.uk/
- Sugerido como Resposta Vanderney Souza terça-feira, 30 de outubro de 2012 12:10
- Marcado como Resposta Harley AraujoModerator sexta-feira, 9 de novembro de 2012 12:38
Todas as Respostas
-
sim voce vai ter de usar inner join primeiro e deois encher a o teu datagridview. private void button12_Click(object sender, EventArgs e) { string sql = @"Select c.OBS, a.FirstName From Table_OBS c Inner Join Table_Inf a ON c.IDMe = a.ID Where c.IDMe =@ID"; SqlConnection conecao = new SqlConnection(); conecao.ConnectionString = @"Data Source=LEVI-PC\SQLEXPRESS;Initial Catalog=Teste_One;Integrated Security=True"; DataTable tabela = null; try { using (conecao) { SqlCommand comandos = new SqlCommand(); comandos.CommandText = sql; comandos.CommandType = System.Data.CommandType.Text; comandos.Connection = conecao; comandos.Parameters.AddWithValue("@ID", textBox1.Text); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = comandos; tabela = new DataTable(); adapter.Fill(tabela); this.dataGridView2.DataSource = tabela; } } catch (Exception ex) { ex.Message.ToString(); } }
http://malange-levi.blogspot.co.uk/
-
Desculpa esqueci k e vb:
Private Sub button12_Click(sender As Object, e As EventArgs) Dim sql As String = "Select c.OBS, a.FirstName From Table_OBS c Inner Join Table_Inf a ON c.IDMe = a.ID Where c.IDMe =@ID" Dim conecao As New SqlConnection() conecao.ConnectionString = "Data Source=LEVI-PC\SQLEXPRESS;Initial Catalog=Teste_One;Integrated Security=True" Dim tabela As DataTable = Nothing Try Using conecao Dim comandos As New SqlCommand() comandos.CommandText = sql comandos.CommandType = System.Data.CommandType.Text comandos.Connection = conecao comandos.Parameters.AddWithValue("@ID", textBox1.Text) Dim adapter As New SqlDataAdapter() adapter.SelectCommand = comandos tabela = New DataTable() adapter.Fill(tabela) Me.dataGridView2.DataSource = tabela End Using Catch ex As Exception ex.Message.ToString() End Try End Sub
http://malange-levi.blogspot.co.uk/
- Sugerido como Resposta Vanderney Souza terça-feira, 30 de outubro de 2012 12:10
- Marcado como Resposta Harley AraujoModerator sexta-feira, 9 de novembro de 2012 12:38