overcloked Posted April 3, 2006 at 03:15 AM Report #20654 Posted April 3, 2006 at 03:15 AM Broas... Ando aqui a tentar fazer uma array multidimenssional para poder guardar duas collumns e varias rows de uma BD em SQL. Tou a ter problemas porque cada vez que faz loop para ir para a proxima row os valores da array anteriores são apagados 😛 Para terem uma ideia melhor do que estou a fazer aqui fica o codigo que tenho: ' Preenchimento dos dados de ligação ao SQL Server 2000 conn.ConnectionString = "data source=vmwareserver;initial catalog=MercoFarma;persist security info=False;user id=admin;password=admin" cmd.CommandText = "SELECT * FROM tabClientes" cmd.Connection = conn Dim reader As DbDataReader = Nothing Try conn.Open() reader = cmd.ExecuteReader(CommandBehavior.CloseConnection) Me.ComboClientes.Items.Clear() If reader.HasRows Then Dim i As Integer While reader.Read() Dim arrThisArray(i, 1) As String arrThisArray(i, 0) = reader.GetValue(0) arrThisArray(i, 1) = reader.GetValue(1) i += 1 End While Else MessageBox.Show("Não há registos.") End If Catch exp As Exception MessageBox.Show(exp.Message) MessageBox.Show("Ocorreu um erro.") Finally If Not IsNothing(reader) Then reader.Close() End Try A array apaga os dados anteriores depois de fazer um novo loop. Se alguem me poder mostrar a luz, agradeço....
Chicomaravilha Posted April 3, 2006 at 03:28 AM Report #20656 Posted April 3, 2006 at 03:28 AM Boas Tu desculpa, mas se estás a ir buscar coisas a uma BD pq não trabalhas com o dataset? Podes explicar melhor qual é o objectivo? Cumprimentos
overcloked Posted April 3, 2006 at 03:36 AM Author Report #20657 Posted April 3, 2006 at 03:36 AM humm!? 😛 N percebo la mto disto ainda, podes me dizer como farias isto com o dataset? O objectivo é escrever numa combobox nomes de "clientes" que estão na DB mas quero associar o "IDCliente" ao nome, para isso pensei numa array multidimenssional em que: arrThisArray(0, 0) = 1 arrThisArray(0, 1) = "João" arrThisArray(1, 0) = 2 arrThisArray(1, 1) = "Maria" etc... PS: O IDCliente está na coluna 0 da tabela SQL e o nome na coluna 1 Tks 😛
Asgorath Posted April 3, 2006 at 08:49 AM Report #20661 Posted April 3, 2006 at 08:49 AM Boas Ve no help o comando Redim Preserve. Jorge "The Dark Side Clouds Everthing. Impossible To See The Future Is."My rig: Intel Core 2 Quad Q9450 | abit IP35P | 4G Kingston 800 Mhz | XFX GeForce 9800 GX2 1G ddr3 | 2X WD5000AAJS 500Gb Sata 2 | PSU 600W || Caixa El-Diablo | Creative XMod
overcloked Posted April 3, 2006 at 02:30 PM Author Report #20710 Posted April 3, 2006 at 02:30 PM Jorge obrigado pela luz, mas consegues me explicar como fazer como se fosse mto burro? 😛 Já tentei usar mas continuo sem conseguir salvar os valores anteriores, tou a usar antes da incrementação do i "ReDim Preserve arrThisArray(i, 0)" mas n tá a dar 😛 Alguma pista de como hei-de fazer isto? Tks in advance 🙂
Tiago Salgado Posted April 3, 2006 at 05:56 PM Report #20762 Posted April 3, 2006 at 05:56 PM Ve este codigo onde uso arrays e o Preserve...se não entenderes algo avisa q tento esclarecer Public Function Dec2Bin(ByVal dec As Integer) As String Dim tmp As Object Dim resto As Integer Dim bin() As Integer Dim nr_bin As Integer ReDim bin(0) tmp = dec While tmp >= 2 resto = dec Mod 2 dec \= 2 tmp = dec bin(UBound(bin)) = resto ReDim Preserve bin(UBound(bin) + 1) End While bin(UBound(bin)) = dec Array.Reverse(bin) For Each nr_bin In bin Console.Write(nr_bin) Next End Function
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