România
Roportal.ro

Cum caut o inregistrare intr-o baza de date ?

Început de Constantin Marin, Vin 4 apr 2008 · 6 răspunsuri · 4.666 vizualizări

Constantin Marin43 mesaje#1

Dupa cum am mai spus vreau sa fac o aplicatie,care sa-mi spuna pe ce CD sau DVD am un anumit film sau joc etc.

Va multumesc din suflet tuturor celor care m-au invatat sa aduc aplicatia la nivelul la care se afala cum.

Dar mai am o rugaminte (cred ca este ultima) si anume :

Pe Form4 am un TextBox1 , un ListBox1 si un button1.

Cand vreau sa modific o inregistrare din baza de date, scriu in TextBox1 numele CD sau DvD-ului si la apasarea button1 sa imi apara in ListBox1 tot ce contine respectivul CD sau DVD.

De ce vreu sa fac si asta cu modificarea datelor deja inregistrate?

Pentru ca este posibil ca un DVD sa-l fac in mai multe sesiuni sau, este posibil sa se deterioreze un CD sau DVD si atunci trebuie sters din baza de date.

Va multumesc pentru ajutorul acordat.

Constantin Marin43 mesaje#2

Cred ca sunt pe aproape, am scris urmatorul cod butonului :

string s = TextBox1.Text;

DataRow cautaRand = arhivDiscDataSet1.Tables["Disc"].Rows.Find(s);

if (cautaRand != null)

{

MessageBox.Show(foundRow[1].ToString());

}

else

{

MessageBox.Show("Nu exista acesta inregistrare" + s + " in baza de date");

}

Problema este ca imi da eroare cind scriu litere, cand scriu cifre este ok.

Adica el cauta dupa "Disc_ID" cum am eu numita o coloana in tabelul "Disc"

Eu vreau sa caut dupa numele CD/DVD-ului.

Unde am gresit ?

Va rog sa ma lamuriti.

Va multumesc anticipat.

Constantin Marin43 mesaje#3

Trebuie sa rectific ceva pentru ca vreau sa imi apara in TextBox2 data gasit din baza de date.

string s = TextBox1.Text;

DataRow cautaRand = arhivDiscDataSet1.Tables["Disc"].Rows.Find(s);

if (cautaRand != null)

{

TextBox2.Text = (foundRow[1].ToString());

}

else

{

MessageBox.Show("Nu exista acesta inregistrare" + s + " in baza de date");

}

Cum trebuie sa fac ca sa imi caute dupa "Nume CD/DVD" ?

"Nume CD/DVD" este o coloana din tabelul "Disc" din baza de date ArhivDisc.mdb.

El acum imi cauta dupa cheia primara si anume dupa "Disc ID".

Va rog frumos lamuritima cum trebuie sa fac.

Constantin Marin43 mesaje#5

Salutare

M-am uitat pe saitul pe care mi-ai spus , sincer nu sunt lamurit absolut deloc.

Nu ca as vrea mura-n gura dar va rog daca se poate sa imi dati mai multe detalii.

Baza de date a mea este SQLDatabase , mai trebuie atast un SQL ?

Si daca da va rog sa-mi spuneti cum.

Va multumesc de ajutorul dat.

Paul Brahtl2.177 mesaje#6

ahrvDiscDataSet1 este un obiect Dataset, in care sunt depozitate inregistrari rezultate din interogarea unei baze de date.

Interogarea unei baze de date se face utilizand limbajul de programare SQL.

Daca ai atasat la ahrvDiscDataSet1 o tabela din baza de date (printr-un DataAdapter), el ti-a generat automat in spate cele 4 instructiuni SQL necesare operarii cu tabela (SELECT, UPDATE, INSERT, DELETE)

Ceea ce primesti implicit in dataset este rezultatul introgarii:

SELECT * FROM TabelaMea

Instructiunea asta o gasesti in SQLDataAdapter1.SelectCommand.CommandText

Ca sa obtii in Dataset doar inregistrarile care au in campul Titlu sirul "WinXP_SP2" (spre exemplu) va trebui sa inlocuiesti instructiunea SELECT de mai sus cu

SELECT * FROM TabelaMea WHERE Titlu like "%WinXP_SP2%'

Apoi faci umplerea dataset-ului cu rezultatul noii instructiuni

SQLDataAdapter1.fill(ahrvDiscDataSet1)

si apoi faci un refresh al datagrid-ului in care afisezi acest rezultat

DataGrid1.Databind()

Bafta!

Constantin Marin43 mesaje#7

Va rog din suflet dac puteti sa faceti un mic proiect pe aceasta tema pentru al studia ; pentru ca nu ma descurc deloc.

Tot nu i-am dat de capat.

Va rog frumos dati-mi un exemplu ca sa ma pot lamuri.

Va multumesc.

← Înapoi la Programare