Zadatak je sledeci:
data je baza Student i u njoj tabela Student i Ocena.Poterbno je da se u jednoj transakciji u bazu ubace student(ciji se podaci inace unose u Textbox) i sve njegove ocene(koje se inace unose u DataGrid).
Ovo da ubacim studenta kontam,ali ovaj deo sa ocenama ne radi.Tj ne znam kako treba da izgleda foreach petlja a ne mogu da skontam ni kako treba da mi izgleda INSERT naredba za ubacivanje ocena koje unesem u DataGrid!Evo kod,pa ako neko moze da ispravi bas bi mi znacilo,posto se celi dan mucim(mozda je glup al sta da radim..)!
Hvala!
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace StudentOcena
{
public partial class StudOcena : Form
{
OleDbConnection konekcija;
OleDbTransaction transakcija;
DataTable dt;
public StudOcena()
{
InitializeComponent();
string konekcioniString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\SiK\Desktop\Student.mdb;Persist Security Info=False";
konekcija = new OleDbConnection(konekcioniString);
dt = new DataTable();
dt.Columns.Add("PredmetID");
dt.Columns.Add("Profesor");
dt.Columns.Add("Ocena");
dataGridView1.DataSource = dt;
}
private void btnSacuvaj_Click(object sender, EventArgs e)
{
string ubaciStud = "INSERT INTO Student VALUES('" + txtStudentID.Text+ "','"+txtIme.Text+"','"+txtPrezime.Text+"','"+BrInd.Text+"')";
string ubaciOcenu = "INSERT INTO Ocena VALUES('" + txtStudentID.Text +"','" +dt.Columns["PredmetID"].ToString() + "','" + dt.Columns["Profesor"].ToString() + "','" + dt.Columns["Ocena"].ToString() + "')";
transakcija = null;
try
{
konekcija.Open();
transakcija = konekcija.BeginTransaction();
OleDbCommand komanda = new OleDbCommand(ubaciStud, konekcija, transakcija);
komanda.ExecuteNonQuery();
foreach (DataRow red in //…)// ili je mozda problem ovdje u petlji???
{
transakcija=konekcija.BeginTransaction();
komanda = new OleDbCommand(ubaciOenu, konekcija, transakcija);
komanda.ExecuteNonQuery();
}
transakcija.Commit();
}
catch (Exception)
{
transakcija.Rollback();
}
finally
{
konekcija.Close();
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace StudentOcena
{
public partial class StudOcena : Form
{
OleDbConnection konekcija;
OleDbTransaction transakcija;
DataTable dt;
public StudOcena()
{
InitializeComponent();
string konekcioniString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\SiK\Desktop\Student.mdb;Persist Security Info=False";
konekcija = new OleDbConnection(konekcioniString);
dt = new DataTable();
dt.Columns.Add("PredmetID");
dt.Columns.Add("Profesor");
dt.Columns.Add("Ocena");
dataGridView1.DataSource = dt;
}
private void btnSacuvaj_Click(object sender, EventArgs e)
{
string ubaciStud = "INSERT INTO Student VALUES('" + txtStudentID.Text+ "','"+txtIme.Text+"','"+txtPrezime.Text+"','"+BrInd.Text+"')";
string ubaciOcenu = "INSERT INTO Ocena VALUES('" + txtStudentID.Text +"','" +dt.Columns["PredmetID"].ToString() + "','" + dt.Columns["Profesor"].ToString() + "','" + dt.Columns["Ocena"].ToString() + "')";
transakcija = null;
try
{
konekcija.Open();
transakcija = konekcija.BeginTransaction();
OleDbCommand komanda = new OleDbCommand(ubaciStud, konekcija, transakcija);
komanda.ExecuteNonQuery();
foreach (DataRow red in //…)// ili je mozda problem ovdje u petlji???
{
transakcija=konekcija.BeginTransaction();
komanda = new OleDbCommand(ubaciOenu, konekcija, transakcija);
komanda.ExecuteNonQuery();
}
transakcija.Commit();
}
catch (Exception)
{
transakcija.Rollback();
}
finally
{
konekcija.Close();
}
}
}
}