Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Update i vremenski period

[es] :: .NET :: Update i vremenski period

[ Pregleda: 3019 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

marko v
programer
Šibenik

Član broj: 46810
Poruke: 109
161.53.144.*

Sajt: www.bono-husky.tk


Profil

icon Update i vremenski period23.12.2005. u 17:15 - pre 192 meseci
aplikacija bazirana na access bazi radi rezervacije apartmana.kako da prilikom update-a tj.stvaranja nove rezervacije ispitam dali je apartman u tom periodu(izmedju dva datuma) već zauzet?

 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Update i vremenski period26.12.2005. u 09:14 - pre 192 meseci
Napravis proceduru na bazi sa sledecim kodom
Code:

CREATE PROCEDURE UnesiRezervaciju
(
       @Pocetni DateTime,
       @Krajnji DateTime,
       @Uspelo bit output,
       --ostali parametri potrebni za unos apartmana u bazu
)
AS
IF NOT EXISTS (SELECT * FROM Apartmani WHERE IDApartmana BETWEEN @Pocetni AND @Krajnji)
BEGIN
     INSET INTO Apartmani VALUES (-- potrebni parametri)
     @Uspelo = 1
END
ELSE
     @Uspelo = 0


I pozoves proceduru iz koda ako vrati 0 znaci da je termin zauzet...
Every hamster has his day.
 
Odgovor na temu

marko v
programer
Šibenik

Član broj: 46810
Poruke: 109
*.net.t-com.hr.

Sajt: www.bono-husky.tk


Profil

icon Re: Update i vremenski period12.01.2006. u 19:29 - pre 192 meseci
Trudio sam se sa procedurom i nije islo.Onda sam na stranici http://www.devcity.net/Articles/18/1/msaccess_sp.aspx
pronasao da MS Access bas ne radi dobro sa svim procedurama.
Kako bi se još moglo ovo rijesiti. Da li je moguce podatke tipa datetime potrpati u nekekvo polje i onda testirati da li je datum vec zauzet.kako bi to otprilike islo ako je moguce?
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Update i vremenski period16.01.2006. u 14:33 - pre 191 meseci
Sorry, nisam primetio da je Access u pitanju.

Bez procedura teško da ćeš moći da proveriš vrednosti unesene direktno u tabelu. Verovatno će biti najbolje rešenje da ispravnost proveriš u klijentskoj aplikaciji.
Npr. odradiš query koji ti vraća rezervaciju datog apartmana u dato vreme pa ako vrati bilo šta znači da je termin zauzet i na klijentu ispisuješ poruku.

[Ovu poruku je menjao Fedya dana 16.01.2006. u 15:37 GMT+1]
Every hamster has his day.
 
Odgovor na temu

vekica
Veroljub Zmijanac
beograd

Član broj: 29640
Poruke: 128
*.dialup.sezampro.yu.

ICQ: 330192115
Sajt: www.veroljub.blogspot.com


Profil

icon Re: Update i vremenski period16.01.2006. u 23:28 - pre 191 meseci
u pravu je Fedya. Znaci pre ubacivanja prodješ kroz bazu i vidis da li postoji vec taj unos.

na kraju krajeva mozes vratiti podatke u DataSet i onda mozes proci kroz taj DataSet obicnom petljom videti da li ima mogucnosti da se ubace podatci i to ti je to.

znaci prvo proveris i onda pozoves update ili ako je rezervisan onda i ne zoves taj metod vec javis korsiniku da je zauzet
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Update i vremenski period17.01.2006. u 07:20 - pre 191 meseci
Da, ok je to - mada je moja ideja više bila da pusti precizno definisan upit sa traženim podacima i da proveri sa IF EXISTS (verovatno postoji tako nešto u Access-u); time se minimizuje količina podataka koja putuje do klijenta i nema neke preterane obrade.
Every hamster has his day.
 
Odgovor na temu

marko v
programer
Šibenik

Član broj: 46810
Poruke: 109
*.net.t-com.hr.

Sajt: www.bono-husky.tk


Profil

icon Re: Update i vremenski period19.01.2006. u 18:14 - pre 191 meseci
Evo rijesio sam stvar na nacin da sam stvorio jos jedan adapter koji puni jos jedan dataset.I iz tog seta saljem korisniku poruku o apartmanima koji su zauzeti u periodu u kojem on pokusava stvoriti novu rezervaciju.Najveca mana je to sto korisnik jos uvijek moze naparaviti rezervaciju iako je neki apartman u tom periodu vec zauzet.Dobiva upozorenje ali ga uvijek moze ignorirati.

Evo kod pa ako imate jos koju ideju sta bi se tu moglo napraviti.
Hvala unaprijed.I hvala za vec pruzenu pomoc.

richTextBox3.ResetText();

string RezervacijaSelect = "Select * from Rezervacija where ? between DatumDolaska and DatumOdlaska
or ? between DatumDolaska and DatumOdlaska
or DatumDolaska between ? and ?
or DatumOdlaska between ? and ?";

OleDbDataAdapter adapter = new OleDbDataAdapter(RezervacijaSelect, rezervacijaTableAdapter.Connection);

OleDbParameter paramDatum = new OleDbParameter();
paramDatum.OleDbType = OleDbType.Date;
paramDatum.ParameterName = "DatumNovi";
paramDatum.Value = dataGridView1.CurrentRow.Cells[3].Value;

OleDbParameter paramOdlaska = new OleDbParameter();
paramOdlaska.OleDbType = OleDbType.Date;
paramOdlaska.Value = dataGridView1.CurrentRow.Cells[4].Value;
paramOdlaska.ParameterName = "ParametarOdlaska";

OleDbParameter paramDatum1 = new OleDbParameter();
paramDatum1.OleDbType = OleDbType.Date;
paramDatum1.ParameterName = "DatumNovi1";
paramDatum1.Value = dataGridView1.CurrentRow.Cells[3].Value;

OleDbParameter paramOdlaska1 = new OleDbParameter();
paramOdlaska1.OleDbType = OleDbType.Date;
paramOdlaska1.Value = dataGridView1.CurrentRow.Cells[4].Value;
paramOdlaska1.ParameterName = "ParametarOdlaska1";

OleDbParameter paramDatum2 = new OleDbParameter();
paramDatum2.OleDbType = OleDbType.Date;
paramDatum2.ParameterName = "DatumNovi2";
paramDatum2.Value = dataGridView1.CurrentRow.Cells[3].Value;

OleDbParameter paramOdlaska2 = new OleDbParameter();
paramOdlaska2.OleDbType = OleDbType.Date;
paramOdlaska2.Value = dataGridView1.CurrentRow.Cells[4].Value;
paramOdlaska2.ParameterName = "ParametarOdlaska2";


adapter.SelectCommand.Parameters.Add(paramDatum);
adapter.SelectCommand.Parameters.Add(paramOdlaska);
adapter.SelectCommand.Parameters.Add(paramDatum1);
adapter.SelectCommand.Parameters.Add(paramOdlaska1);
adapter.SelectCommand.Parameters.Add(paramDatum2);
adapter.SelectCommand.Parameters.Add(paramOdlaska2);



DataSet setPomocni = new DataSet();
adapter.Fill(setPomocni);

BindingManagerBase bmb = BindingContext[setPomocni.Tables[0]];
bmb.Position = 0;

DataView dv = new DataView(setPomocni.Tables[0]);
int brojZauzetih = dv.Table.Rows.Count;

string[] apartmani1 = new string[brojZauzetih];
string[] apartmani2 = new string[brojZauzetih];
string[] apartmani3 = new string[brojZauzetih];

for (int i = 0; i < brojZauzetih; i++)
{
DataRowView drv = (DataRowView)bmb.Current;
DataRow dr = (DataRow)drv.Row;
apartmani1 = dr["BrojApartmana"].ToString();
apartmani2 = dr["DatumDolaska"].ToString();
apartmani3 = dr["DatumOdlaska"].ToString();
bmb.Position++;
}

if (brojZauzetih > 0)
{
richTextBox3.Visible = true;
richTextBox3.AppendText("Zauzeti su bili apartmani sa brojem: ");

richTextBox2.AppendText("U željenom periodu već su zauzeti apartmani pod rednim brojem: ");
richTextBox2.AppendText("\n");
richTextBox2.AppendText("\n");
for (int z = 0; z < brojZauzetih; z++)
{
richTextBox2.AppendText(apartmani1[z]);
richTextBox2.AppendText(" ");
richTextBox2.AppendText(apartmani2[z]);
richTextBox2.AppendText(" ");
richTextBox2.AppendText(apartmani3[z]);
richTextBox2.AppendText("\n");
richTextBox2.AppendText("\n");
richTextBox3.AppendText(apartmani1[z]);
richTextBox3.AppendText(" ");
}

}
else
{
richTextBox2.AppendText("U željenom periodu nema zauzetih apartmana!!");
}

DialogResult drez = MessageBox.Show("Da li želite nastaviti sa rezervacijom?\n " + richTextBox2.Text + "", "Potvrdi!!",
MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (drez == DialogResult.Yes)
{
rezervacijaTableAdapter.Update(apartmanosDataSet1.Rezervacija);
apartmanosDataSet1.Rezervacija.AcceptChanges();
richTextBox3.Visible = false;
}
richTextBox2.ResetText();
 
Odgovor na temu

01011011
Avanade
CHICAGO, USA

Član broj: 561
Poruke: 2341
204.167.145.*

ICQ: 45747235
Sajt: www.snailtrail.net


+2 Profil

icon Re: Update i vremenski period19.01.2006. u 21:27 - pre 191 meseci
Ja obozavam procedure ali imam mali problemcic, otvoricu novi topik :)
 
Odgovor na temu

[es] :: .NET :: Update i vremenski period

[ Pregleda: 3019 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.