Documente Academic
Documente Profesional
Documente Cultură
using System.Data.SqlServerCe;
SqlCeConnection con;
SqlCeCommand cmd;
SqlCeDataAdapter da;
DataTable dt;
public Form1()
{
InitializeComponent();
con = new SqlCeConnection("Data Source=admitere.sdf");
con.Open();
afisare("SELECT * FROM admitere");
}
void afisare(string s)
{
cmd = new SqlCeCommand(s, con);
da = new SqlCeDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
s = @"UPDATE admitere SET rezultat='admis' WHERE id IN (SELECT TOP(20) id FROM admitere WHERE proba1>=5
AND proba2>=5 ORDER BY media DESC)";
cmd = new SqlCeCommand(s, con);
cmd.ExecuteNonQuery();
afisare("SELECT * FROM admitere ORDER BY media DESC");
}
Problema 1
S se creeze dou interogari, cu structura NUME, PRENUME, REZULTAT, MEDIA, una cu fetele iar alta cu bieii
ce s-au prezentat la examen, ordonate descresctor, fiecare, dup criteriul mediei obinute la examen.
Problema 2
S se creeze dou interogari care s conin:
lista celor mai buni cinci candidai admii
lista celor mai slabi cinci candidai admii
Structura: NUME, PRENUME, MEDIA, DATAN, ORA
Problema 3
S se creeze o interogare care s conin candidaii admii ce au vrsta cuprins ntre 18 i 20 de ani, relativ la
data la care se consult tabela. Articolele vor fi ordonate cresctor dup DATAN. Pentru dou articole care au
DATAN egal, ordinea va fi dat de NUME.
Structura interogrii: NUME, PRENUME, ORA, DATAN, MEDIA
Problema 4
S se creeze dou interogri ce conin: NUME, PRENUME, PROBA1, REZULTAT, respectiv NUME, PRENUME,
PROBA2, REZULTAT ordonate descresctor dup criteriul PROBA1 respectiv PROBA2
Problema 5
S se creeze o interogare ce conine situaia de la examen, cu lista candidailor n ordine alfabetic. Pentru doi
candidai cu acelai nume, ordinea n list va fi dat de prenume.
Structura: NUME, PRENUME, MEDIA, REZULTAT
Problema 6
S se realizeze o situaie statistic, cu numrul procentual al mediilor cuprinse ntre: l - 5.00 ; 5.01 - 7.00 ; 7.01 -
9.00 ; 9.01 - 10. Procentele se vor prezenta ca numere ntregi, cu rotunjire.
s = "SELECT count(*) FROM admitere WHERE media BETWEEN 7.01 AND 9";
cmd = new SqlCeCommand(s, con);
int nr2 = Convert.ToInt32(cmd.ExecuteScalar());
double p2 = Math.Round(nr2 * 100.0 / nr, 0);
label2.Text = "Medii intre 7.01-9: " + p2 + "%";
s = "SELECT count(*) FROM admitere WHERE media BETWEEN 5.01 AND 7";
cmd = new SqlCeCommand(s, con);
int nr3 = Convert.ToInt32(cmd.ExecuteScalar());
double p3 = Math.Round(nr3 * 100.0 / nr, 0);
label3.Text = "Medii intre 5.01-7: " + p3 + "%";
Problema 8
S se fac o interogare cu structura: NUME, PRENUME, MEDIA, ORA, care s cuprind, pentru toate oraele ce
apar n lista examenului de admitere, cel mai bun (cei mai buni) candidat provenit din fiecare ora. Lista va fi
ordonat alfabetic n funcie de numele oraului.
Problema 9
S se creeze dou interogri cu informaii complete - mai puin oraul - cu candidaii admii, respectiv respini
la examen, provenii din CLUJ. Listele vor fi ordonate dup medie. La medii egale, se va face ordonare
alfabetic.
Problema 10
n urma evalurii contestaiilor, candidatului DINITA Razvan i s-a modificat nota de la proba1, din 9.88 n 9.50,
iar candidatului LAMPINEAN Neonila nota de la proba2 din 4.99 n 5.
Facei modificrile respective n tabel.
private void button2_Click(object sender, EventArgs e)
{
string s;
s = @"UPDATE admitere SET proba1=9.50, media=(proba1+proba2-0.01)/2 WHERE nume='Dinita' AND
prenume='Razvan'";
cmd = new SqlCeCommand(s, con);
cmd.ExecuteNonQuery();
s = @"UPDATE admitere SET proba2=5.00, media=(proba1+proba2-0.01)/2 WHERE nume='Lampinean' AND
prenume='Neonila'";
cmd = new SqlCeCommand(s, con);
cmd.ExecuteNonQuery();
// button1_Click(sender,e);
button1.PerformClick();
}
Problema 11
n cmin sunt disponibile 4 locuri. Ele se vor distribui n ordinea descresctoare a mediilor, candidailor admii
care au domiciliul n alt localitate dect Braov.
S se creeze o interogare cu viitorii cminiti, cu urmtoarea structur: NUME, PRENUME, ORA, MEDIA.
Lista va fi ordonat descresctor dup criteriul mediei la examen. La medii egale, departajarea se va face dup
nota la proba1
Problema 12
n cmin sunt disponibile 2 locuri pentru biei i 3 pentru fete. S se creeze dou interogri, una pentru biei
i una pentru fete, cu candidaii admii ce nu sunt din Braov i obin loc n cmin. Locurile disponibile se vor
distribui n ordinea descresctoare a mediilor, la medii egale departajarea fcndu-se dup nota obinut la
proba1.
Lista va fi ordonat descresctor dup criteriul mediei la examen.
Coloanele afiate sunt: NUME, PRENUME, ORA, MEDIA.
Problema 13
Pentru candidaii admii la examen se dau dou categorii de burse:
de merit - pentru candidaii ce au obinut medii cuprinse ntre 9.75 i 10
de studii - pentru candidaii ce au obinut medii cuprinse ntre 8.50 i 9.74.
S se creeze dou interogri cu cele dou categorii de bursieri, ordonate alfabetic.
Coloanele afiate sunt: NUME, PRENUME, MEDIA
private void button5_Click(object sender, EventArgs e) ///bursa merit
{
afisare(@"SELECT nume, prenume, media FROM admitere WHERE media >= 9.75 AND rezultat ='admis' ORDER BY
nume, prenume");
}
private void button4_Click(object sender, EventArgs e)
{
afisare(@"SELECT nume, prenume, media FROM admitere WHERE media BETWEEN 8.5 AND 9.74 AND
rezultat='admis' ORDER BY nume, prenume");
}
Problema 14
S se fac dou interogri ordonate alfabetic, pentru Comisariatul Militar, una cu bieii incorporabili i una cu
cei neincorporabili n armat.
Un candidat (biat) este incorporabil dac:
este respins
are vrsta de cel puin 20 de ani la data de 20 mai 2011.
Coloanele afiate: NUME, PRENUME, DATAN, ORA.
Problema 15
S se fac o statistic pentru candidaii provenii dintr-un ora fixat, care s evidenieze procentul de admii din
oraul respectiv i numrul de candidai provenii din acest ora. Procentul se va furniza ca numr ntreg, cu
rotunjire.
Problema 16
S se fac o statistic n care s se evidenieze media notelor la proba1, media notelor la proba2 i media
mediilor generale doar pentru candidaii declarai admii la examen. Fiecare dintre cele trei medii se calculeaz
cu rotunjire la a doua zecimal.
Problema 17
S se fac o interogare cu toi candidaii care au media peste media de admitere dar care au fost declarai
respini. Coloanele: NUME, PRENUME, MEDIA, ORA.
Problema 18
S se evidenieze care este:
media mediilor candidailor admii
media mediilor candidailor respini.
Fiecare dintre cele dou medii se calculeaz cu rotunjire la a doua zecimal.
Problema 19
a) S se fac o interogare n care s listm oraele n ordine alfabetic, pentru fiecare ora afind numrul de
candidai. Coloanele vor fi: ORAS, NRCAND
b) S se afieze oraul (oraele) care au numrul cel mai mare de candidai. Se va afia oraul i nr. de candidai.
Problema 20
n vederea repartizrii celor admii n grupe de cte 10 studeni fiecare, s se distribuie candidaii admii, n
ordinea descresctoare a mediilor de admitere dup cum urmeaz: primul candidat este repartizat n grupa1, al
doilea n grupa2, al treilea n grupa1, al patrulea n grupa2, i aa mai departe.
Structura tabelelor ce se vor afia, va fi: NUME, PRENUME, ORAS, MEDIA, DATAN.