Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.773 pregleda

Najnovija ↓

VB .NET - Combobox odabir datatable 08.01.2015. u 10:22 · pre 143 meseca #1
Pozdrav,
napravio sam neku vrstu poslovnog programa koji koristi SQL bazu podataka.
Korisnik se uloguje, unosi neke podatke koje program čuva u bazu podataka 'BAZA' u tabelu 'TABELA'.
Želeo bih da na stranici za login postavim combobox sa opcijama '2014. godina', '2015. godina' itd.
Ako korisnik odabere '2014. godina' program treba da korsiti 'TABELA2014' tj. da isčitava podatke iz te tabele kao i da snima podatke u tu tabelu. Isto tako ako izabere '2015. godina' da isčitava podatke iz te tabele kao i da snima podatke u tu tabelu.

Ovo je neki primer koji 'učitava podatke':
Code:

Public Function GetData() As DataView
Dim SelectQry = "SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA order by Delovodnik desc"

        Dim SampleSource As New DataSet
        Dim TableView As DataView
        Try
            Dim SampleCommand As New SqlCommand()
            Dim SampleDataAdapter = New SqlDataAdapter()
            SampleCommand.CommandText = SelectQry
            SampleCommand.Connection = Connection
            SampleDataAdapter.SelectCommand = SampleCommand
            SampleDataAdapter.Fill(SampleSource)
            TableView = SampleSource.Tables(0).DefaultView
        Catch ex As Exception
            Throw ex
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
        Return TableView
    End Function



Ne znam na koji način da uradim da na osnovu onoga što je izabrano u combobox-u odabere odgovarjuću tabelu. Da li može da se koristi if uslov i neki primer?
Re: VB .NET - Combobox odabir datatable 08.01.2015. u 14:36 · pre 143 meseca #2
Po ovom tvom primeru možeš da promeniš select string, npr:

Code:


Dim StartQry = "SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA"
Dim SelectQry = StartQry + godina + " order by Delovodnik desc"



gde ti je "godina" ustvari ono što je izabrano u combobox-u npr "2014" pa dobijaš "SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA" + "2014" + " order by Delovodnik desc"

Mada bi ti bilo najjednostavnije da sve podatke držiš u jednoj tabeli, dodaš int polje godina i po tome filtriraš podatke...
Potpis
Lanci, Kuke, Spojnice, Priveznice, Skopci, Hvataljke, Celicna uzad, Valjkasti lanci, Galovi Lanci MM Veriga d.o.o.
Agrorade atomizeri
Re: VB .NET - Combobox odabir datatable 12.01.2015. u 09:58 · pre 143 meseca #3
Tek danas sam uspeo da isprobam i radi odlično, hvala puno, to je baš kako sam hteo :) Mučio sam se sa if uslovima a ovako je mnoglo lakše i elegantnije.
Re: VB .NET - Combobox odabir datatable 13.01.2015. u 08:22 · pre 143 meseca #4
Sada imam probelm sa pretragom. Ovo je moj (uprošćen) kod za pretragu koja se vrši izborom neke stavke iz comboboxa.
Code:

Private Sub cbTrazi_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbTrazi.SelectedIndexChanged
        
Try
            con = New SqlConnection(cs)
            con.Open()
cmd = New SqlCommand("SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA  '" & Login.ComboBox1.SelectedItem.ToString() & "'   where delovodnik = '" & cbTrazi.Text & "' order by datum desc", con)

            Dim myDA As SqlDataAdapter = New SqlDataAdapter(cmd)

            Dim myDataSet As DataSet = New DataSet()

            myDA.Fill(myDataSet, "TABELA")

            DataGridView1.DataSource = myDataSet.Tables("TABELA").DefaultView

            con.Close()
        
Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub


Ovo je deo koji sam dodao: '" & Login.ComboBox1.SelectedItem.ToString() & "'. To radi tako što umesto ovog koda učita vrednost iz comboboxa sa login stranice što je u redu i dobijem ovako nešto: TABELA 2014, a trebalo bi da dobijem bez razmaka: TABELA2014, kako se to može dobiti? Probao sam da da tu 'sql komandu' rasčlanim na dva dela cmd1 i cmd2 pa kasnije napravim cmd kao cmd1 & cmd2 ali nije mi uspelo.
Re: VB .NET - Combobox odabir datatable 13.01.2015. u 09:37 · pre 143 meseca #5
Prosto, nemoj stavljati razmak u sql stringu posle reči TABELA nego odmah stavi " ne trebaju ti apostrofi ispred i iza

ti si stavio ovako:

Code:
cmd = New SqlCommand("SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA  '" & Login.ComboBox1.SelectedItem.ToString() & "'   where delovodnik = '" & cbTrazi.Text & "' order by datum desc", con)


a treba ovako:

Code:
cmd = New SqlCommand("SELECT rtrim(id)[ID],rtrim(delovodnik)[Delovodnik] from TABELA" & Login.ComboBox1.SelectedItem.ToString() & "  where delovodnik = '" & cbTrazi.Text & "' order by datum desc", con)



Potpis
Lanci, Kuke, Spojnice, Priveznice, Skopci, Hvataljke, Celicna uzad, Valjkasti lanci, Galovi Lanci MM Veriga d.o.o.
Agrorade atomizeri
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme