FabioRochapt Posted August 21, 2012 at 04:47 PM Report Share #473044 Posted August 21, 2012 at 04:47 PM (edited) Olá a todos, Estou a carregar uma tabela para uma grid: Try con = GetConnect() cmd.Connection = con con.Open() cmd.CommandText = " Select * from Transactions" Dim table As New DataTable rs = cmd.ExecuteReader table.Load(rs) DataGridView1.DataSource = table rs.Close() con.Close() Catch ex As Exception MessageBox.Show("Error found: " & vbCrLf & ex.Message) End Try O meu problema é que os dados na BD estão guardados com os famosos espaços para completar o tamanho do campo. ( Exemplo "Fábio Rocha ") Queria saber como resolver isto para poder apresentar uma grid mais bonitinha. Obrigado pela ajuda. Edited August 21, 2012 at 05:07 PM by Caça Link to comment Share on other sites More sharing options...
Caça Posted August 21, 2012 at 04:49 PM Report Share #473045 Posted August 21, 2012 at 04:49 PM Podes converter na query os campos para NVarchar ou Varchar ou então no código faz o Trim. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
FabioRochapt Posted August 21, 2012 at 04:53 PM Author Report Share #473047 Posted August 21, 2012 at 04:53 PM Podes converter na query os campos para NVarchar ou Varchar ou então no código faz o Trim. Podes explicar melhor por favor? Link to comment Share on other sites More sharing options...
Caça Posted August 21, 2012 at 04:56 PM Report Share #473048 Posted August 21, 2012 at 04:56 PM Qual das opções? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
FabioRochapt Posted August 21, 2012 at 05:03 PM Author Report Share #473052 Posted August 21, 2012 at 05:03 PM (edited) Penso que o TRIM, é o que normalmente uso. Se discordares aceito qualquer sugestão, faz parte da aprendizagem. Obrigado. Edited August 21, 2012 at 05:04 PM by FabioRochapt Link to comment Share on other sites More sharing options...
Caça Posted August 21, 2012 at 05:08 PM Report Share #473056 Posted August 21, 2012 at 05:08 PM (edited) No teu caso terias de percorrer todos os registos do DataTable e fazer o Trim, o que não é nada pratico.. O ideal seria mesmo actualizar o tipo de dados na BD, uma vez que não faz sentido utilizares campos de comprimento fixo como o NChar e Char em campos onde nem sempre tens o valor com o mesmo tamanho.. Edited August 21, 2012 at 05:09 PM by Caça Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
FabioRochapt Posted August 21, 2012 at 05:39 PM Author Report Share #473062 Posted August 21, 2012 at 05:39 PM A ver se eu entendi: Mudando os campos na BD para Varchar e eles deixam de ter comprimento fixo? O meu problema ficaria resolvido? Link to comment Share on other sites More sharing options...
Caça Posted August 21, 2012 at 05:49 PM Report Share #473065 Posted August 21, 2012 at 05:49 PM Sim 1 Report Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
FabioRochapt Posted August 21, 2012 at 05:58 PM Author Report Share #473067 Posted August 21, 2012 at 05:58 PM (edited) Qualquer coisa não está funcionar. Estou a usar SQL Server 2012. Ao atribiur varchar a um campo, ele fica como varchar(50). Na teoria funcionaria: Use varchar quando os tamanhos das entradas de dados de coluna variarem consideravelmente. Na prática funcionou. Obrigado Caça. Abraço Edited August 21, 2012 at 06:07 PM by FabioRochapt Link to comment Share on other sites More sharing options...
Caça Posted August 21, 2012 at 06:11 PM Report Share #473068 Posted August 21, 2012 at 06:11 PM Não te esqueças que esse 50 continua a ser o limite de caracteres. 1 Report Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
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