1. Erstellen Sie eine gespeicherte Prozedur
für die Mitarbeitertabelle in der Northwind-Datenbank in MSSQL (Funktion ist eine Fuzzy-Abfrage basierend auf Nachname):
CREATE PROCEDURE Employess_Sel @lastname nvarchar (20)
ALS
Wählen Sie den Nachnamen aus „Mitarbeiter“ aus, wobei der Nachname etwa „%“ + @Nachname + „%“ ist.
GO
2. Formularentwurf
1. Erstellen Sie eine neue ASP.NET-Webanwendung, nennen Sie sie WebSql, wählen Sie den Speicherpfad aus und klicken Sie auf OK.
2. Fügen Sie dem Formular eine Beschriftung, ein Textfeld und eine Schaltfläche hinzu, fügen Sie dann ein DataGrid-Steuerelement hinzu, klicken Sie mit der rechten Maustaste auf das DataGrid-Steuerelement und wählen Sie „Property Generator“, wählen Sie dann die Spalte im sich öffnenden Fenster aus und entfernen Sie das Häkchen vor „Automatisch“. Erstellen Sie die Spalte, fügen Sie dann eine gebundene Spalte zur ausgewählten Spalte hinzu, legen Sie die Kopfzeile auf „Nachname“ und das Datenfeld auf „Nachname“ fest. Klicken Sie auf OK.
3. Erstellen Sie eine Zwischendatenschicht,
klicken Sie mit der rechten Maustaste auf die Lösung, wählen Sie „New-Project-Class Library“, nennen Sie sie „ClaSQL“, wählen Sie den Speicherpfad aus und klicken Sie auf „OK“. Fügen Sie der geöffneten Klassenbibliothek den folgenden Code hinzu:
Imports System.Data.SqlClient
Öffentliche Klasse Klasse1
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
'Erstellen Sie einen Abfrageprozess. Öffentliche Funktion Emp_Sel(ByVal lastname As String) As DataSet
scon.Open()
scon.Close()
„Definieren Sie das Befehlsobjekt und verwenden Sie die gespeicherte Prozedur Dimscom As New SqlCommand.“
scom.CommandType = CommandType.StoredProcedure
scom.CommandText = "Employess_Sel"
scom.Connection = scon
'Definieren Sie einen Datenadapter und legen Sie den Parameter Dim sda As New SqlDataAdapter(scom) fest.
sda.SelectCommand.Parameters.Add("@lastname", SqlDbType.NVarChar).Value = lastname
„Definieren Sie ein Datensatzobjekt und füllen Sie den Datensatz. Dim ds As New DataSet.“
Versuchen
sda.Fill(ds)
Ex als Ausnahme einfangen
Beenden Sie den Versuch
Geben Sie ds zurück
Funktion beenden
End Class
4. Referenzieren Sie die Zwischendatenschicht (Klassenbibliothek),
klicken Sie mit der rechten Maustaste auf das ClaSql-Projekt, wählen Sie „Generieren“, klicken Sie dann mit der rechten Maustaste auf die „Referenz“ des WebSql-Projekts, wählen Sie „Referenz hinzufügen“ und wählen Sie dann das hinzuzufügende Projekt aus Fügen Sie das ClaSql-Projekt in das ausgewählte Komponentenfeld ein und klicken Sie auf OK.
5. WebForm1.aspx-Formularcode-Design
Öffnen Sie die Datei WebForm1.aspx unter dem WebSql-Projekt und doppelklicken Sie auf die Schaltfläche Schaltfläche, um das Codefenster zu öffnen. Der vollständige Code lautet wie folgt:
Öffentliche Klasse WebForm1
Erbt System.Web.UI.Page
'Formularcode weggelassen'Search button eventPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button1.Click
'Definieren Sie eine Variable, um die Eingabe des Textfelds zu speichern und aus Sicherheitsgründen zu konvertieren. Dim lastname As String = TextBox1.Text
nachname = nachname.Replace("&", "&")
lastname = lastname.Replace("<", "")
lastname = lastname.Replace(">", "")
lastname = lastname.Replace("'", "'")
lastname = lastname.Replace("chr(13)", "<br>")
lastname = lastname.Replace("chr(10)", "<br>")
'Erstellen Sie eine neue Klasseninstanz und rufen Sie den Abfrageprozess auf, um Daten zu binden. Dim myCla As New ClaSql.Class1
DataGrid1.DataSource = myCla.Emp_Sel(lastname )
DataGrid1.DataBind()
Sub beenden
Ende der
sechsten Klasse: Hinweise
: Aus Sicherheitsgründen sollten beim Betrieb der Datenbank die folgenden Maßnahmen ergriffen werden:
1. Verwenden Sie gespeicherte Prozeduren
. 2. Verwenden Sie keine SA-Konten.
3. Verwenden Sie Kennwörter für komplexe Konten.
4. Versuchen Sie beim Einfügen von Daten, andere zu verwenden Konten zum Löschen und für andere Vorgänge festlegen und nur für jedes einzelne Konto entsprechende Einfügungs- oder Löschberechtigungen festlegen.
5. Datenbankoperationen sollten so weit wie möglich in der mittleren Schicht (Klassenbibliothek) gekapselt werden, damit der Code auch implementiert werden kann erleichtert zukünftige Änderungen.