Witam.
Zaproponowano mi napisanie małej strony z bazą do obsługi zapisywania się na pralnie w naszym akademiku. Mam pewien problem gdyż, oczywiście, nie można zapisać się w tym samym dniu w godzinach w których już ktoś jest zapisany i tu nie do końca wiem czego powinienem użyć do stworzenia takiego warunku, szukałem trochę ale szczerze mówiąc po omacku, gdyż nie bardzo wiem czego szukać tak do końca. Fajnie by było gdyby mi ktoś oszczędził czasu i napisał jak to powinno wyglądać, choćby mniej-więcej. Myślałem nad dodaniem warunku do samej bazy SQLa, ale oczywiście warunek unique działa tylko, w przypadku dodania constra unique na data/od/do, na dany dzien + godziny od-do, tzn. jeśli jest ktoś wpisany na 03-03-2012 godz 8 - 12 do drugi taki sam wpis nie wystąpi, jednak jeśli by się już chciało chociaż wpisać na 03-03-2012 godz 9 - 12 etc. to już się doda. Gdyby to nie musiałby być zakres to bym sobie poradził bez problemu, no ale.
Aktualnie stronę testuje tu: http://aspspider.info/silas177/strona1.aspx potem będzie przeniesiona, po skończeniu ofc, na nasz serwer wewnętrzny.
Zostało mi to do zrobienia, oraz jeszcze jedno sobie admin sieci wymyślił, by po zaznaczeniu w kalendarzu nie tylko dodawało datę do textboxa (tam gdzie "Na kiedy:") ale także wyświetlało tylko wpisy na daną datę w GridView, jeśli się da, tak więc chciałem zapytać czy da się takie cyrki porobić?
Aktualnie testuje na bazie accessa, prawdopodobnie zmienimy po przeniesieniu na serwer wewnętrzny na bazę sqla, ale w sumie myślę, że to nie będzie takie konieczne gdyż baza nie będzie zawierała dużo wpisów, adminowi sieci to obojętne, bo po tygodniu wpisy i tak będą kasowane. Tak czy inaczej rozwiązanie nie powinno mieć wpływu na to jaka to baza, bo obie działają na podobnej zasadzie, przynajmniej tak sądzę :>
Oto kod wewnątrz jakby co:
[code]
string sConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
sConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\C#\Strona trzy\Strona\App_Data\BazaStrony.mdb";
//sConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MemberSites\MemberSites_AspSpider_Info\silas177\database\BazaStrony.mdb";
}
protected void zapisywanie()
{
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdINSERT = new OleDbCommand("INSERT INTO Strona (Pokoj,Od,Do,Data) VALUES ('" + tb_pokoj.Text + "', '" + od_godziny.SelectedValue + "', '" + do_godziny.SelectedValue + "', '" + tb_nakiedy.Text + "')", objConn);
objCmdINSERT.ExecuteNonQuery();
objConn.Close();
}
protected void b_zapisz_Click(object sender, EventArgs e)
{
if (od_godziny.SelectedIndex == 0 || do_godziny.SelectedIndex == 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + "Wybierz poprawnie godziny" + "');", true);
}
else
{
zapisywanie();
Response.Redirect(Request.RawUrl);
}
}
[/code]