Seabra Posted April 3, 2012 at 10:52 AM Report #447203 Posted April 3, 2012 at 10:52 AM Olá Quando gravo a tabela dá o seguinte erro: "Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information." Tenho a chave primária definida em ID. se eu alterar a minha query para: Dim SQL As String = "SELECT ID, Var_ID, Var_Tag, Var_Nome, Var_Tipo, Var_Decimais, Var_Escala FROM Lista_Variaveis" ou seja, incluir o campo com a chave primária já funciona, mas o que eu pretendo mesmo é não mostrar na minha Datagridview a coluna ID. O que é que eu poderei fazer para resolver isto? Cumprimentos. Public Class Form1 ' Declaração de variáveis privadas Private da As OleDb.OleDbDataAdapter Private ds As DataSet Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load ' Texto de ligação à base de dados Dim myConnectionString As String = ConStr ' Cria uma nova ligação à base de dados Dim connection As New OleDb.OleDbConnection(ConStr) ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet Dim SQL As String = "SELECT Var_ID, Var_Tag, Var_Nome, Var_Tipo, Var_Decimais, Var_Escala FROM Lista_Variaveis" da = New OleDb.OleDbDataAdapter(SQL, connection) ' Cria um DataSet, ou seja, uma representação em memória da informação ds = New DataSet ' Coloca a informação da tabela definida no DataSet da.Fill(ds, "Lista_Variaveis") ' Define que a fonte de dados da DataGridView é a nossa DataSet ' criando automáticamente as colunas e linhas de dados Me.DataGridView1.DataSource = ds.Tables("Lista_Variaveis") ' Limpa a ligação à base de dados. Não é necessário fechar a ligação ' porque esta não foi aberta através do comando .Open() connection = Nothing End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click ' Cria automaticamente o comando para permite actualizar a DataSet Dim cb As New OleDb.OleDbCommandBuilder(da) ' Actualiza na DataSet, e por sua vez na tabela, as alterações efectuadas da.Update(ds, "Lista_Variaveis") End Sub End Class
Caça Posted April 3, 2012 at 10:56 AM Report #447204 Posted April 3, 2012 at 10:56 AM Esconde a coluna ID Pedro Martins Não respondo a duvidas por PM
Seabra Posted April 3, 2012 at 11:13 AM Author Report #447207 Posted April 3, 2012 at 11:13 AM Esconde a coluna ID Olá Caça De facto posso esconder a coluna ID, mas não há outra solução sem ter que incluír a col ID na query? Cumprimentos
Caça Posted April 3, 2012 at 11:15 AM Report #447208 Posted April 3, 2012 at 11:15 AM Como é que consegues fazer um update a um único registo no meio dos outros sem saberes o que é que o identifica? Pedro Martins Não respondo a duvidas por PM
Seabra Posted April 3, 2012 at 11:27 AM Author Report #447211 Posted April 3, 2012 at 11:27 AM Como é que consegues fazer um update a um único registo no meio dos outros sem saberes o que é que o identifica? Acho que tens razão. Há alguma forma de esconder a coluna não na Datagridview mas sim na query? Cumprimentos
Caça Posted April 3, 2012 at 12:43 PM Report #447229 Posted April 3, 2012 at 12:43 PM Não. Pedro Martins Não respondo a duvidas por PM
Seabra Posted April 3, 2012 at 03:56 PM Author Report #447278 Posted April 3, 2012 at 03:56 PM Não. Obrigado por tudo
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now