Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
AMB

transformação de código vb ---> eclipse

Recommended Posts

AMB

Bom dia!!!

É o seguinte eu desenvolvi um código há algum tempo em visual basic mas agora queria faze-lo no eclipse, mas não estou sabendo como...

o código em vb é o seguinte:

'Acesso à base de dados
        Dim conn As New System.Data.OleDb.OleDbConnection
        conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Desktop\user2.accdb'"
        conn.Open()

        'Inserir valor do ParamNr manualmente
        Dim PNr As String
        PNr = TextBox1.Text

        'Mostrar ParamNr de forma automática
        Dim Param As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        Param.CommandText = " SELECT ParamNr FROM Parameter "

        Dim resu As Integer
        resu = Convert.ToInt32(Param.ExecuteScalar)

        TextBox1.Text = resu

        'Calculo do máximo por coluna de D (16* = nº de colunas)
        Dim selectD1 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD1.CommandText = " SELECT MAX(D1) AS DAP1 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP1 As Integer
        DAP1 = Convert.ToInt32(selectD1.ExecuteScalar)

        Dim selectD2 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD2.CommandText = " SELECT MAX(D2) AS DAP2 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP2 As Integer
        DAP2 = Convert.ToInt32(selectD2.ExecuteScalar)

        Dim selectD3 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD3.CommandText = " SELECT MAX(D3) AS DAP3 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP3 As Integer
        DAP3 = Convert.ToInt32(selectD3.ExecuteScalar)

        Dim selectD4 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD4.CommandText = " SELECT MAX(D4) AS DAP4 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP4 As Integer
        DAP4 = Convert.ToInt32(selectD4.ExecuteScalar)

        Dim selectD5 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD5.CommandText = " SELECT MAX(D5) AS DAP5 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP5 As Integer
        DAP5 = Convert.ToInt32(selectD5.ExecuteScalar)

        Dim selectD6 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD6.CommandText = " SELECT MAX(D6) AS DAP6 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP6 As Integer
        DAP6 = Convert.ToInt32(selectD6.ExecuteScalar)

        Dim selectD7 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD7.CommandText = " SELECT MAX(D7) AS DAP7 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP7 As Integer
        DAP7 = Convert.ToInt32(selectD7.ExecuteScalar)

        Dim selectD8 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD8.CommandText = " SELECT MAX(D8) AS DAP8 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP8 As Integer
        DAP8 = Convert.ToInt32(selectD8.ExecuteScalar)

        Dim selectD9 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD9.CommandText = " SELECT MAX(D9) AS DAP9 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP9 As Integer
        DAP9 = Convert.ToInt32(selectD9.ExecuteScalar)

        Dim selectD10 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD10.CommandText = " SELECT MAX(D10) AS DAP10 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP10 As Integer
        DAP10 = Convert.ToInt32(selectD10.ExecuteScalar)

        Dim selectD11 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD11.CommandText = " SELECT MAX(D11) AS DAP11 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP11 As Integer
        DAP11 = Convert.ToInt32(selectD11.ExecuteScalar)

        Dim selectD12 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD12.CommandText = " SELECT MAX(D12) AS DAP12 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP12 As Integer
        DAP12 = Convert.ToInt32(selectD12.ExecuteScalar)

        Dim selectD13 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD13.CommandText = " SELECT MAX(D13) AS DAP13 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP13 As Integer
        DAP13 = Convert.ToInt32(selectD13.ExecuteScalar)

        Dim selectD14 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD14.CommandText = " SELECT MAX(D14) AS DAP14 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP14 As Integer
        DAP14 = Convert.ToInt32(selectD14.ExecuteScalar)

        Dim selectD15 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD15.CommandText = " SELECT MAX(D15) AS DAP15 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP15 As Integer
        DAP15 = Convert.ToInt32(selectD15.ExecuteScalar)

        Dim selectD16 As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        selectD16.CommandText = " SELECT MAX(D16) AS DAP16 FROM MeasData WHERE ParamNr = " & PNr

        Dim DAP16 As Integer
        DAP16 = Convert.ToInt32(selectD16.ExecuteScalar)

        'Criação de vector com todos os máximos calculados
        Dim vector() As Integer

        ReDim vector(15)

        vector(0) = DAP1
        vector(1) = DAP2
        vector(2) = DAP3
        vector(3) = DAP4
        vector(4) = DAP5
        vector(5) = DAP6
        vector(6) = DAP7
        vector(7) = DAP8
        vector(8) = DAP9
        vector(9) = DAP10
        vector(10) = DAP11
        vector(11) = DAP12
        vector(12) = DAP13
        vector(13) = DAP14
        vector(14) = DAP15
        vector(15) = DAP16

        'Coloca vector por ordem crescente
        Array.Sort(vector)

        'Devolve-nos o último valor do vector --> valor máximo de todos os máximos calculados
        TextBox2.Text = vector(15)

        'Insere o valor na tabela Parameter
        Dim insertDAP As System.Data.OleDb.OleDbCommand = conn.CreateCommand()
        insertDAP.CommandText = " UPDATE Parameter SET DAP = ('" & vector(15) & "') WHERE ParamNr = " & PNr
        insertDAP.ExecuteNonQuery()

só que não queria que o PNr fosse inserido pelo utilizador, mas sim ele ir calculando para todos os PNr existentes na tabela.

alguém me dá uma ajudinha???

Obrigada

Share this post


Link to post
Share on other sites
Knitter

Por "eclipse" suponho que te estejas a referir ao IDE Eclipse? E pela secção talvez seja usando a linguagem Java? É que o IDE Eclipse permite programar em várias linguagens....

O que é o PNr e qual é o objectivo do programa?

Share this post


Link to post
Share on other sites
AMB

Sim é java!!!

O PNr é uma variavel que define um autonumber (primary-key) de uma tabela...e que também está presente numa outra que contem os D1, D2, ...

O objectivo é o seguinte: existem 16 colunas de D com vários valores e para um mesmo PNr podem existir n valores de um mesmo D1. Ou seja o PNr define a linha e posso ter 20 linhas com o mesmo PNr logo vou ter ( 20 linhas * 16 colunas ) de valores. e kero calcular o valor maximo de cada coluna (D1, D2,.... D16) e dp calcular o máximo dos máximos (ver qual o maximo entre D1 e D16 dos maximos anteriormente calculados). Espero ter-me feito entender

Share this post


Link to post
Share on other sites
Knitter

VB para mim é pior que chinês, não lhe percebo muito da sintaxe e por isso não sei bem o que estás a fazer. No entanto, sendo PNr um campo da base de dados, auto-incrementável, para o obteres automaticamente não bastará fazer um insert e depois ir buscar o número que acabou de ser criado?

Desculpa mas ainda não percebi qual é o problema ou o que estás a tentar fazer.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.