ado.net - szukanie tekstu w bazie access
user: Pisaro
Witam Mam podpieta baze accessa do programu za pomoca ado.net. Na formie mam 3 textboxy i button ktorym chce uruchomic procedurke szukania w bazie tekstu. Zalozmy, ze w 1 texboxie wpisuje tekst, nastepuje przeszukanie bazy w kolumnie 1 czy dany tekst (z textbox1) sie tam znajduje.Jesli tak to w pozostale 2 textboxy wpisuje zawartosc wierszy w bazie. Niby proste, ale przeszukalem juz sporo stron i zaden przyklad mi nie dziala. Czy ktos cos doradzi?
Re: ado.net - szukanie tekstu w bazie access
user: "sweet_dreams"
Pisaro napisa=B3(a): > Witam > Mam podpieta baze accessa do programu za pomoca ado.net. > Na formie mam 3 textboxy i button ktorym chce uruchomic procedurke > szukania w bazie tekstu. > Zalozmy, ze w 1 texboxie wpisuje tekst, nastepuje przeszukanie bazy w > kolumnie 1 czy dany tekst (z textbox1) sie tam znajduje.Jesli tak to w > pozostale 2 textboxy wpisuje zawartosc wierszy w bazie. > Niby proste, ale przeszukalem juz sporo stron i zaden przyklad mi nie > dziala. > Czy ktos cos doradzi? Witam, Spr=F3b=F3j zrobi=E6 to w ten spos=F3b: 'kod po=B3=B1czenia z baz=B1 danych pomijam 'ds - dataset wype=B3niny danymi z bazy Dim TekstKol2 as String Dim TekstKol3 as String Dim SzukanyTekst as String Dim filtr as String ' tekst kt=F3ry wpisa=B3e=B6 w 1 textbox-ie SzukanyTekst=3Dtextbox1.text ' kolumna1, kolumna2, kolumna3 - odpowiednie ' kolumy w tabeli w bazie danych filtr=3D"kolumna1=3D' " & SzukanyTekst & " ' " dim Wynik() as DataRow 'jezeli szukany tekst pojawia si=EA kilkukrotnie w kolumnie 'do tablicy Wynik trafi=B1 wszystkie rekordy zawieraj=B1ce 'szukany tekst Wynik=3Dds.tables(0).select(filtr) For Each dr as DataRow in Wynik dr("kolumna2")=3DTekstKol2 dr("kolumna3")=3DTekstKol3 Next Me.TextBox2.Text=3DTekstKol2 Me.TextBox3.Text=3DTekstKol3 Pozdrawiam, sweet_dreams
Re: ado.net - szukanie tekstu w bazie access
user: Pisaro
sweet_dreams napisał(a): > Pisaro napisał(a): >> Witam >> Mam podpieta baze accessa do programu za pomoca ado.net. >> Na formie mam 3 textboxy i button ktorym chce uruchomic procedurke >> szukania w bazie tekstu. >> Zalozmy, ze w 1 texboxie wpisuje tekst, nastepuje przeszukanie bazy w >> kolumnie 1 czy dany tekst (z textbox1) sie tam znajduje.Jesli tak to w >> pozostale 2 textboxy wpisuje zawartosc wierszy w bazie. >> Niby proste, ale przeszukalem juz sporo stron i zaden przyklad mi nie >> dziala. >> Czy ktos cos doradzi? > > Witam, > > Spróbój zrobić to w ten sposób: > > 'kod połączenia z bazą danych pomijam > 'ds - dataset wypełniny danymi z bazy > > Dim TekstKol2 as String > Dim TekstKol3 as String > Dim SzukanyTekst as String > Dim filtr as String > > ' tekst który wpisałeś w 1 textbox-ie > SzukanyTekst=textbox1.text > > ' kolumna1, kolumna2, kolumna3 - odpowiednie > ' kolumy w tabeli w bazie danych > > filtr="kolumna1=' " & SzukanyTekst & " ' " > > dim Wynik() as DataRow > > 'jezeli szukany tekst pojawia się kilkukrotnie w kolumnie > 'do tablicy Wynik trafią wszystkie rekordy zawierające > 'szukany tekst > > Wynik=ds.tables(0).select(filtr) > > For Each dr as DataRow in Wynik > dr("kolumna2")=TekstKol2 > dr("kolumna3")=TekstKol3 > Next > > Me.TextBox2.Text=TekstKol2 > Me.TextBox3.Text=TekstKol3 > > Pozdrawiam, > sweet_dreams > Zrobilem tak jak napisales,pozmienialem nazewnictwo na swoje, ale nie dziala. Nie wypelniaja sie textbox2 i textbox3. Dodatkowo przy kopilacji, VB pokazuje komunikat "Variable TekstKol2 is used before it has been assigned a value. A null reference exception could result at runtime" P.S. WYtlumacz mi linijke: filtr = "idkarty=' " & SzukanyTekst & " ' " dzieki z gory
Re: ado.net - szukanie tekstu w bazie access
user: "sweet_dreams"
> Zrobilem tak jak napisales,pozmienialem nazewnictwo na swoje, ale nie > dziala. > Nie wypelniaja sie textbox2 i textbox3. > Dodatkowo przy kopilacji, VB pokazuje komunikat "Variable TekstKol2 is > used before it has been assigned a value. A null reference exception > could result at runtime" > > P.S. WYtlumacz mi linijke: > filtr =3D "idkarty=3D' " & SzukanyTekst & " ' " > > dzieki z gory Witam ponownie, Przepraszam ale jak pisa=B3em tamten kod nie mia=B3em dost=EApu do kompa z VB i zrobi=B3em kilka b=B3=EAd=F3w. Kod powinien wygl=B1da=E6 tak: 'kod po=B3=B1czenia z baz=B1 danych pomijam 'ds - dataset wype=B3niny danymi z bazy Dim TekstKol2 as String Dim TekstKol3 as String Dim SzukanyTekst as String Dim filtr as String ' tekst kt=F3ry wpisa=B3e=B6 w 1 textbox-ie SzukanyTekst=3Dtextbox1.text ' kolumna1, kolumna2, kolumna3 - odpowiednie ' kolumy w tabeli w bazie danych ' kolumna1 - kolumna w tabeli w kt=F3rej znajduje si=EA szukany tekst filtr=3D"kolumna1=3D'" & SzukanyTekst & "'" dim Wynik() as DataRow 'jezeli szukany tekst pojawia si=EA kilkukrotnie w kolumnie 'do tablicy Wynik trafi=B1 wszystkie rekordy zawieraj=B1ce 'szukany tekst ' zamiast nazwa tabeli podajesz nazwe tabeli lub jej indeks w datasecie Wynik=3Dds.tables(NazwaTabeli).select(filtr) For Each dr as DataRow in Wynik TekstKol2=3Ddr("kolumna2") TekstKol3=3Ddr("kolumna3") Me.TextBox2.Text=3DTekstKol2 Me.TextBox3.Text=3DTekstKol3 Next ten zapis filtr =3D "idkarty=3D'" & SzukanyTekst & "'" oznacza =BFe szukamy rekodru, kt=F3ry w kolumnie idkarty b=EAdzie mia=B3 warto=B6=E6 odpowiadaj=B1c=B1 warto=B6ci zmiennej SzukanyTekst. Gdyby=B6my chcieli wpisa=E6 tutaj zamiast zmiennej warto=B6=E6 to wygl=B1da=B3o by to np tak: filtr=3D"idkarty=3D'1234'" Innaczej t=B3umacz=B1c ta linijka jest odpowiednikiem klauzuli WHERE w instrukcji SQL np: SELECT * FROM karty WHERE idkarty=3D'1234' mam nadzieje =BFe tym razem wszystko ju=BF zadzia=B3a pozdrawiam, sweet_dreams
Re: ado.net - szukanie tekstu w bazie access
user: Pisaro
sweet_dreams napisał(a): >> Zrobilem tak jak napisales,pozmienialem nazewnictwo na swoje, ale nie >> dziala. >> Nie wypelniaja sie textbox2 i textbox3. >> Dodatkowo przy kopilacji, VB pokazuje komunikat "Variable TekstKol2 is >> used before it has been assigned a value. A null reference exception >> could result at runtime" >> >> P.S. WYtlumacz mi linijke: >> filtr = "idkarty=' " & SzukanyTekst & " ' " >> >> dzieki z gory > > Witam ponownie, > > Przepraszam ale jak pisałem tamten kod nie miałem dostępu do kompa z > VB i zrobiłem kilka błędów. Kod powinien wyglądać tak: > > 'kod połączenia z bazą danych pomijam > 'ds - dataset wypełniny danymi z bazy > > Dim TekstKol2 as String > Dim TekstKol3 as String > Dim SzukanyTekst as String > Dim filtr as String > > ' tekst który wpisałeś w 1 textbox-ie > SzukanyTekst=textbox1.text > > ' kolumna1, kolumna2, kolumna3 - odpowiednie > ' kolumy w tabeli w bazie danych > ' kolumna1 - kolumna w tabeli w której znajduje się szukany tekst > > filtr="kolumna1='" & SzukanyTekst & "'" > > dim Wynik() as DataRow > > 'jezeli szukany tekst pojawia się kilkukrotnie w kolumnie > 'do tablicy Wynik trafią wszystkie rekordy zawierające > 'szukany tekst > ' zamiast nazwa tabeli podajesz nazwe tabeli lub jej indeks w datasecie > Wynik=ds.tables(NazwaTabeli).select(filtr) > > For Each dr as DataRow in Wynik > > TekstKol2=dr("kolumna2") > TekstKol3=dr("kolumna3") > > Me.TextBox2.Text=TekstKol2 > Me.TextBox3.Text=TekstKol3 > > Next > > ten zapis filtr = "idkarty='" & SzukanyTekst & "'" > oznacza że szukamy rekodru, który w kolumnie idkarty będzie miał > wartość odpowiadającą wartości zmiennej SzukanyTekst. Gdybyśmy > chcieli wpisać tutaj zamiast zmiennej wartość to wyglądało by to > np tak: > filtr="idkarty='1234'" > > Innaczej tłumacząc ta linijka jest odpowiednikiem klauzuli WHERE w > instrukcji SQL np: > > SELECT * > FROM karty > WHERE idkarty='1234' > > mam nadzieje że tym razem wszystko już zadziała > > pozdrawiam, > sweet_dreams > Witam ponownie. Wszystko juz dziala. Jestem pelen podziwu i uznania dla zrobienia TYLKO takich bledow piszac "z glowy". Serdecznie dziekuje za pomoc Pozdrawiam