Avatar
cmuch
Člen
Avatar
cmuch:

Ahoj,
jsem uplny zacatecnik ve VB.NET
Zacal jsem si delat databazi a potreboval bych z jednoho sloupce dostat udaje do comboboxu, ale ne vsechny, jen ty co mají nějakou shodu s textem co zadám.

Pro nacteni hodnot do databaze pouzivam toto

Imports System.Data
Imports System.Data.SqlClient

Public Class Form2
    Dim cn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Data.mdf;Integrated Security=True")
    Dim selecteddbdataId As Integer = 0

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim cmd As SqlCommand = cn.CreateCommand
        cn.Open()

        cmd.CommandText = "SELECT * FROM dbdata"
        Dim dr As SqlDataReader = cmd.ExecuteReader()

        If dr.HasRows Then
            Dim dtData As New DataTable
            dtData.Load(dr)
            DataGridView1.DataSource = dtData
        End If

        dr.Close()
        cn.Close()
    End Sub

Na netu jsem dohledal par codu, ale ty mi nejak nechteji chodit.
Poradite neco?
Dekuji

 
Odpovědět 10.2.2015 6:18
Avatar
kashpi
Redaktor
Avatar
Odpovídá na cmuch
kashpi:

V tom případě bych doporučil podívat se na základy SQL.
Pokud chceš dostat z databáze jen nějaká data, tak určitě budeš potřebovat

"SELECT * FROM dbdata WHERE [neco]='text'"

Dále bych určitě nepoužíval * [hvězdičku] v SELECTu :)

 
Nahoru Odpovědět 10.2.2015 8:02
Avatar
cmuch
Člen
Avatar
cmuch:

Děkuji za odpověď.
Hvězdička je tam proto aby se mi dostali do tabulky všechny hodnoty z databáze.
Na příkazy SQL jsem koukal, ale nevím jak pak ty hodnoty dostat do toho comboboxu.
Podařilo se mi je tam dostat takto

ComboBox1.Items.Clear()
        For r = 0 To DataGridView1.RowCount - 2
            If DataGridView1.Rows(r).Cells(2).Value Like "*text*" Then
                ComboBox1.Items.Add(DataGridView1.Rows(r).Cells(2).Value)
            End If
        Next

Ale kdyby to bylo tím dotazem tak by to bylo určitě kratší a přehlednější.

A druhá otázka,
jak třeba comboboxu.data­source přiřadit všechny hodnoty z jednoho sloupce té mé tabulky.

 
Nahoru Odpovědět 10.2.2015 8:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.