1 / 24

ASP BAZY DANYCH

ASP BAZY DANYCH. Połączenie z bazą danych. przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC. otwieranie połączenia z bazą – obiekt Connection :. <% Dim objConn Set objConn = Server.CreateObject( "ADODB.Connection" )

armina
Download Presentation

ASP BAZY DANYCH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP BAZY DANYCH

  2. Połączenie z bazą danych • przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC • otwieranie połączenia z bazą – obiekt Connection: <% Dim objConn Set objConn = Server.CreateObject( "ADODB.Connection" ) objConn.ConnectionString = "DSN=nazwa_źródła" (kłopotliwe) objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};"_ & "DBQ=" & Server.MapPath("firma.mdb") objConn.Open [użytkownik], [hasło] %> często w osobnym pliku i <!-- #include file = "plik.asp"--> • zamykanie połączenia z bazą: <% objConn.Close Set objConn = Nothing %> S. Wolek Wst. do Inf.

  3. Połączenie z tabelą • otwieranie połączenia z tabelą – obiekt RecordSet: Dim objRS Set objRS = Server.CreateObject( "ADODB.RecordSet" ) objRS.Open "nazwa_tabeli", objConn, typ_kursora, blokowanie, typ_polecenia domyślne adCmdTable można również objRS.Open polecenie_SQL, objConn, typ_kursora, blokowanie, typ_polecenia Przykład: objRS.Open "klienci", objConn, 3 ,3 • zamykanie połączenia z tabelą: objRS.Close Set objRS = Nothing S. Wolek Wst. do Inf.

  4. Dostęp do danych z tabeli • wskaźnik bieżący + ruchy: MoveFirst MoveNext ( MovePrevious ) MoveLast ( Move liczba ) • funkcje: BOF (begin of file) EOF (end of file) • dostęp do pola: objRecordSet( "nazwa_pola" ) Przykład 2: lista nazwisk klientów : Do Whilenot objRS.EOF ' lub while Response.Write "Nazwisko " & objRS( "nazwisko" ) & "<BR>" Response.Write "<P><HR><P>" objRS.MoveNext Loop ' lub wend S. Wolek Wst. do Inf.

  5. Przykład 3: pokazanie listy nazwisk klientów, odczyt numeru wybranego nazwiska Plik ob_nazwisk.asp (wykonanie rekursywne - sam siebie) <form method="GET" action="ob_nazwisk.asp"> <select name="Klienci"> <% Do While not objRS.EOF Response.Write "<OPTION VALUE='" & objRS( "Identyfikator" ) & "'> " Response.Write objRS( "nazwisko" ) & "<BR>" objRS.MoveNext Loop %> </select><input type="submit" name="Wyślij" value="Wyślij"> </form> <% dim nr nr = Request.QueryString( "Klienci" ) Response.write "Wybrałeś nazwisko nr : " & nr %> S. Wolek Wst. do Inf.

  6. Edycja danych w tabeli • dodawanie recordSet.AddNew recordSet("pole_1") = "wartość_1" recordSet("pole_2") = "wartość_2" ... recordSet.Update • modyfikacja recordSet("pole_1") = "wartość_1" recordSet("pole_2") = "wartość_2" ... recordSet.Update • usuwanie recordSet.Delete S. Wolek Wst. do Inf.

  7. Dodawanie rekordu do bazy danych </form> <form method="GET" action="wpis_BD.asp"> Nazwisko: <input type="text" name="nazwisko" value="Xxx" size="12"><br> Miasto: <input type="text" name="Miasto" value="Rzeszów" size="12"><br> <input type="submit" name="W2" value="Dopisz"> </form> <% objRS.AddNew objRS( "nazwisko" ) = Request.QueryString( "nazwisko" ) objRS( "miasto" ) = Request.QueryString( "miasto" ) objRS.Update %> S. Wolek Wst. do Inf.

  8. Przykłady dotyczą prostej bazy z tabelą Klienci(Identyfikator, Nazwisko) Przykład dostępu do bazy i wyświetlenia zawartości na stronie: <% ' zmienna łańcuchowa określająca sterownik i bazę openstr = "driver={Microsoft Access Driver (*.mdb)};" &_ "dbq=" &Server.MapPath("firma.mdb") ' tworzenie obiektu typu connection set polaczenie (Server.CreateObject("ADODB.Connection" ) ' otwarcie połączenia polaczenie.Open openstr

  9. 'SQL sql = "SELECT * FROM klienci; " 'utworzenie obiektu typu Recordset Set baza = Server.CreateObject("ADODB.Recordset") 'wypełnienieobiektu baza, uaktywnienie polecenia SQL - ' argument polaczenie - obiekt BAZA korzysta z połączenia 'zadeklarowanego w zmiennej polaczenie. baza.Open sql, polaczenie, 3, 3 ' operacje na obiekcie baza baza.MoveFirst Do While Not baza.EOF Response.Write baza("Identyfikator") &_ " " & baza("nazwisko") & "<br>" baza.MoveNext Loop

  10. 'zamknięcia obiektów baza.Close Set baza = Nothing polaczenie.Close Set polaczenie = Nothing %> </p> </body> </html>

  11. Dodawanie rekordów <% @LANGUAGE = VBScript %> <% Option Explicit Response.Expires = 0%> <% Dim polaczenie, baza, sql, id Set polaczenie = Server.CreateObject("ADODB.Connection") polaczenie.Open "driver={Microsoft Access Driver (*.mdb)};" &_ "dbq=" &Server.MapPath("firma.mdb") 'UWAGA: folder z bazą - zabezpieczenia ' albo wszystkie dla Wszyscy ' albo wszystkie dla IUSER\komputer sql = "SELECT * FROM Klienci" Set baza = Server.CreateObject("ADODB.Recordset") baza.Open sql, polaczenie , 3 , 3 %>

  12. <HTML><BODY> <p>Dodanie rekordu:</p> <% baza.Movefirst While Not baza.EOF id= baza.Fields("Identyfikator") baza.MoveNext Wend baza.AddNew baza.Fields("Identyfikator").Value = id+1 baza.Fields("Nazwisko").Value = "Kowalski" ‘ można także spróbować dodawać dane z formularza baza.UpdateBatch Response.Write ("Dodano klienta Kowalski") baza.Close polaczenie.Close Set baza = Nothing Set polaczenie = Nothing %> </BODY></HTML>

  13. Usuwanie rekordów <% @LANGUAGE = VBScript %> <% Response.Expires = 0 DIM strWyj Dim polaczenie, baza, sql, openstr, strOutout Set polaczenie = Server.CreateObject("ADODB.Connection") openstr = "driver={Microsoft Access Driver (*.mdb)};" & "dbq=" &_ Server.MapPath("firma.mdb") polaczenie.Open openstr sql = "DELETE FROM Klienci WHERE Nazwisko='Bula';" set baza = polaczenie.Execute(sql) ' Wyswietlenie rezultatu usuniecia Set baza = polaczenie.Execute("SELECT * FROM Klienci") %> <HTML><BODY> <p>Po usunieciu:</p>

  14. <% While Not baza.EOF strWyj = baza("Nazwisko") Response.Write Server.HTMLEncode(strWyj) & "<BR>" baza.MoveNext Wend baza.Close polaczenie.Close Set baza = Nothing Set polaczenie = Nothing %> </BODY></HTML>

  15. Formularz <html> <head> <title>Strona Testowa</title> </head> <body> <form method="GET" action="Z2baza_insert.asp"> <p>Identyfikator:<input type="text" size="20" name="Pole1Formularza"></p> <p>Nazwisko:<input type="text" size="20" name="Pole2Formularza"> <input type="submit" name="B1" value="Wyslij"></p> </form> </body> </html>

  16. PLIK ASP • <% @LANGUAGE = VBScript %> • <% Option Explicit • Response.Expires = 0%> • <% • Dim Conn, strSQL • response.write ("Wykonanie na serwerze") & "<BR>" • Set Conn = Server.CreateObject("ADODB.Connection") • Conn.Open "driver={Microsoft Access Driver (*.mdb)};" & "dbq=" &_ Server.MapPath("firma.mdb") • 'Conn.open "test1" • strSQL = "INSERT INTO klienci (Identyfikator, Nazwisko) " • strSQL = strSQL & "VALUES (" • strSQL = strSQL & Request.Querystring("Pole1Formularza") & "," • strSQL = strSQL & "'" & Request.Querystring("Pole2Formularza") & "');" • Conn.Execute(strSQL) • Conn.Close • response.write ("Wykonano") & "<BR>" • %>

  17. ZŁĄCZONE TABELE <% Dim Conn, SQL, baza, suma response.write " Wykonanie obliczeń" & "<BR>" 'tworzymy obiekt połączenie Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};" & "dbq=" &_ Server.MapPath("firma.mdb") 'tworzymy obiekt baza Set baza = Server.CreateObject("ADODB.Recordset")

  18. 'tworzymy zapytanie tworząc złączenia tabel SQL = "SELECT Zamowienia.Id_zamowienia AS ID, " &_ "Towary.Nazwa as nazwa, " &_ "Zamowienia.Sztuk AS sztuk, " &_ "Towary.cena as cena, " &_ "Klienci.Nazwisko AS nazwisko " &_ "FROM Klienci, Towary, Zamowienia WHERE " &_ "Klienci.Identyfikator=Zamowienia.Id_klienta and " &_ "Towary.Id_towaru=Zamowienia.Id_towaru and " &_ "Zamowienia.Id_klienta=2 " &_ "ORDERBY Zamowienia.Id_zamowienia"

  19. 'wykonanie zapytania i wypełnienie obiektu baza baza.Open SQL, Conn , 3 , 3 'nagłówek tabeli response.write "<TABLE BORDER><TR bgcolor=#DDDDDD>" &_ "<TD><FONT size=5>Id zamowienia </FONT></TD>" &_ "<TD><FONT size=5>Nazwa </FONT></TD>" &_ "<TD><FONT size=5>Sztuk </FONT></TD>" &_ "<TD><FONT size=5>Cena </FONT></TD>" &_ "<TD><FONT size=5>Wartość </FONT></TD>" &_ "<TD><FONT size=5>Nazwisko </FONT></TD>" &_ "</TR>"

  20. 'wypisanie rekordów while not baza.EOF response.write "<TR>" &_ "<TD align=right><FONT size=5>" & baza("ID") & "</FONT></TD>" &_ "<TD> <FONT size=5>" & baza("nazwa") & "</FONT></TD>" &_ "<TD align=right><FONT size=5>" & baza("sztuk") & "</FONT></TD>" &_ "<TD align=right><FONT size=5>" & formatCurrency(baza("cena")) &_ "</FONT></TD>" & _ "<TD align=right><FONT size=5>" &_ formatCurrency(baza("cena")*baza("sztuk")) & "</FONT></TD>" &_ "<TD><FONT size=5>" & baza("nazwisko") & "</TR>" BAZA.MOVENEXT wend response.write "</table>"

  21. 'Obliczenie sumy baza.MoveFirst suma=0 while not baza.EOF suma= suma+ baza("sztuk")*baza("cena") baza.movenext wend response.write "Suma: " & FormatCurrency(suma) &"<BR>" 'zamknięcie obiektów baza.Close set baza = nothing Conn.Close set Conn = nothing response.write "<FONT color=red> Wykonano</FONT><BR>" %> </FONT>

  22. TWORZENIE FORMULARZA Z DANYMI Z TABELI <% Dim Conn, SQL, baza, suma, miasto response.write "<FONT size=6> Wykonanie obliczeń dla klienta" & "<BR>" & "Wybierz nazwisko:" ' formularz response.write "<form method='POST' action='Obliczenia4.asp'>" response.write "<select size='10' name='nazwisko' " &_ " style='color:red;font-size:16px;font-weight:bolder'>" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};" & "dbq=" &_ Server.MapPath("firma.mdb") 'tworzymy obiekt baza, który zgromadzi rekordy Set baza = Server.CreateObject("ADODB.Recordset")

  23. 'kwerenda SQL = "SELECT Nazwisko from Klienci" baza.Open SQL, Conn , 3 , 3 'znaczniki pola kombi i treść listy while not baza.EOF response.write "<option value='" &_ baza("Nazwisko") &_ "'>" &_ baza("Nazwisko") &_ "</option>" baza.MoveNext wend

  24. 'zamknięcie obiektów • baza.Close • set baza = nothing • Conn.Close • set Con = nothing • response.write "</select>" • response.write "<p><input type='submit' value='Oblicz' name='B1'></p></form>" • %> • </FONT> • </body> • </html>

More Related