Pada artikel yang dipublikasikan beberapa waktu lalu, kode koneksi database bisa langsung ditampilkan di file ASP. Kali ini dienkapsulasi lagi.
Buka vb, buat kontrol Activex baru, nama proyek adalah WebDb, nama modul kelas adalah GetInfomation,
referensi "Microsoft Activex Data Object Object 2.6 Library"
Private Conn As ADODB.Connection
Private Rs As ADODB.Recordset
'Fungsi: Tentukan apakah database terhubung dengan benar
' Anda dapat mengubah string koneksi
Fungsi Publik GetConn()
Conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source =yang"
If Err.Number <> 0 Then
GetConn = False
Else
GetConn = True
End If
End Fungsi
'Sesuai dengan ID karyawan yang dimasukkan, dapatkan nama karyawan
Public Function GetEmployeeName(strEmployeeID As Integer) As String
Redupkan strSql As String
Set rs = New ADODB.Recordset
strSql = "pilih Nama Belakang+nama depan dari karyawan di mana EmployeeID=" & strEmployeeID
rs.Buka strSql, Conn, adOpenStatic, adLockOptimistic
Jika rs.EOF Lalu
GetEmployeeName = ""
Lain
GetEmployeeName = rs.Fields(0)
Berakhir Jika
rs.Tutup
Fungsi Akhir
'Kembalikan semua daftar karyawanFungsi Publik
GetEmployeeList() Sebagai ADODB.Recordset
Redupkan strSql Sebagai
Kumpulan String rs = New ADODB.Recordset
strSql = "pilih EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,BirthDate, HireDate,Address,City dari karyawan"
rs.CursorLocation = adUseClient
rs.Open strSql, Conn, adOpenStatic
Setel GetEmployeeList = rs
'rs.Tutup
Fungsi Akhir
Kami
membuat halaman ASP baru untuk pengujian, "TestWebDb1.asp". Terutama digunakan untuk menguji metode GetEmployeeList()
<HEAD>
<!- Halaman pengujian->
<!- Fungsi: Komponen pengujian->
<!- Penulis: Tornado.NET ->
<%
Redupkan strTopic
Redupkan strTitle
Redupkan strContents
Redupkan DataQuery
Redupkan Rs
Redupkan Diri Saya
Sendiri=Permintaan.ServerVariables("script_name")
Setel DataQuery=Server.CreateObject("WebDb.GetInfomation")
Setel Rs=Server.CreateObject("adodb.recordset")
%>
<TITLE>
Halaman pengujian komponen data
</TITLE>
<H1><CENTER>Selamat datang di komponen data ( www.downcodes.com)</CENTER></H1 >
<%
Dim Flag
Flag=DataQuery.GetConn()
Jika Flag=false maka
ResPonse.Tulis "Tidak ada link ke database, silahkan dicek"
ResPonse.End
End jika
Setel Rs=DataQuery.GetEmployeeList()
jika rs.eof lalu
Response.tulis "Tidak ada data, silakan tanyakan"
Response.end
berakhir jika
Rs.PageSize =3
Halaman= CLng(Request.QueryString ("Halaman"))
Jika Halaman < 1 Maka Halaman = 1
Jika Halaman > Rs.PageCount Maka Halaman = Rs.PageCount
Respons.Tulis "<CENTER><TABLE BORDER=1 Cellspacing=0 cellpadding=2>"
Respons.Tulis "<tr BGCOLOR=silver align=center>"
Response.Tulis "<td>EmployeeID</TD>"
Response.Write "<td>Nama Belakang</td>"
Respon.Tulis "<td>Nama Depan</td>"
Respon.Tulis "<td>Judul</a></td>"
Respon.Tulis "<td>TitleOfCourtesy</ a></td>"
Response.Tulis "<td>Tanggal Lahir</td>"
Response.Tulis "<td>Tanggal Hire</td>"
Response.Tulis "<td>Alamat</td>"
Response.Tulis " <td>Kota</td>"
Respons.Tulis "</tr>"
Rs.AbsolutePage = Halaman
Untuk iPage = 1 Ke Rs.PageSize
Response.Tulis "<TR align=right>"
untuk i=0 hingga Rs.fields.count-1
Response.Tulis "<td>"&Rs.fields.item( i)&"</td>"
Responselanjutnya.Tulis
"</TR>"
Rs.MoveNext
Jika Rs.EOF Lalu Keluar Untuk
Respon
selanjutnya.Tulis
"</TABLE></CENTER>"%>
<Form name="myform" method="get">
<%If Page <> 1 Then%>
<A HREF="<%=Myself%>?Page=1">Halaman pertama</A>
<A HREF = "<%=Myself%>?Page=<%=(Page-1)%>">Halaman sebelumnya</A>
<%End If%>
<%If Page <> Rs.PageCount Then%>
<A HREF= "<%=Myself%>?Page=<%=(Page+1)%>">Halaman selanjutnya</A>
<A HREF="<%=Myself%>?Page=<%=Rs. PageCount%> ">Halaman terakhir</A>
<%End If%>
Halaman:<FONT COLOR="Red"><%=Page%>/<%=Rs.PageCount%></FONT>
< /Form>
<%
Rs.tutup
%>
Buat halaman ASP baru, "TestWebDb2.asp". Terutama digunakan untuk menguji metode GetEmployeeName(),
halaman ini relatif sederhana
<HEAD>
<!- Halaman pengujian->
<!- Fungsi: Komponen pengujian->
<!- Penulis: Tornado.NET ->
<%
Redupkan DataQuery
Redupkan strID
Redupkan strResult
Set DataQuery=Server.CreateObject("WebDb.GetInfomation")
%>
<JUDUL>
Halaman pengujian komponen data
</TITLE>
<H1><CENTER>Selamat datang di Komponen Data ( www.downcodes.com)</CENTER></H1 >
<%
If Len(Request.QueryString("ID")) > 0 Maka
strID = Permintaan. String Kueri("ID")
Redupkan Flag
Flag=DataQuery.GetConn()
Jika Flag=false maka
ResPonse.Tulis "Tidak ada link ke database, silakan cek"
ResPonse.End
End if
strResult=DataQuery.GetEmployeeName(cint(strID))
if strResult="" lalu
Response.Write "Maaf, tidak ada nomor seperti itu, silakan tanyakan"
Response.End
else
ResPonse.Write strResult
end if
End If
%>
<FORM NAME="MyForm">
<INPUT TYPE=TEXTBOX NAME="EmpID" UKURAN=40><P>
<INPUT LANGUAGE="VBScript"
TYPE="BUTTON"
VALUE="Search"
ONCLICK="window.location.href = 'TestWebDb2.asp?ID=' _
+ MyForm.EmpID.Value">
</BENTUK>
</HEAD>
Beberapa ide: Jika link database ditempatkan di sebuah komponen, jika Anda ingin mengubah link database, Anda perlu mengkompilasi ulang komponen tersebut, yang mungkin menyebabkan beberapa masalah (tetapi ini disarankan, bagaimanapun juga, database nama dan nama server tidak akan sering berubah)
Jika link database ditempatkan pada halaman ASP, nilai dapat diteruskan ke komponen melalui atribut, namun keamanan akan berkurang.
Sungguh...
Oke, artikel ini sudah selesai, semoga bermanfaat bagi semuanya.
Topik selanjutnya adalah bagaimana mengimplementasikan fungsi-fungsi perangkat lunak AspToDll. Kami akan mengimplementasikannya selangkah demi selangkah.