… Recordset = -1 …
13 Oktober 2009, seperti biasa saya mengajar di LP3i Cimone, hihi kebagian ASP Classic, Ok. Pertemuan kedua membahas tentang koneksi ASP ke Database Microsoft Access. Untuk koneksi ke Access 2003, tidak ada masalah. Ketika saya hitung jumlah record (RecordCount), maka hasilnya benar, sesuai jumlah record di database, contoh pengkodean sederhananya seperti ini :
<%
Dim cn, rs
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.Oledb.4.0; Data Source = "& Server.Mappath("latih.mdb") &""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT kode, nama, harga FROM barang",cn, 1, 2
response.write("Jumlah Record : " & rs.RecordCount)
%>
Kode di atas menggunakan CursorTypenya = 1 dan LockingTypenya = 2. Pada kode diatas, jumlah record sesuai dengan apa yang ada di database. Namun, masalahnya saat saya coba mengkoneksikan ke Microsoft Access 2007. Masalah baru muncul, jika saya pakai CursorTypenya = 1 dan LockingTypenya = 2, seperti kode berikut :
<%
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.Oledb.12.0; Data Source = "& Server.Mappath("Northwind.accdb") &""
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT Company, [First Name], [Last Name] FROM Employees", cn,1,2
response.write("Jumlah Record : " & rs.RecordCount & "<br>")
%>
maka hasil dari RecordCount=-1. Nah, oleh karena itu saya coba ganti-ganti. Berikut ini hasil kompbinasi CursorType dan LockingTypenya yang memungkinkan hasil RecordCount ke Access 2007 tidak -1 : 1,1 atau 3,1. Jadi, silahkan ganti CursorType dan LockingType menjadi 1,1 atau 3,1. Jadi intinya, kurang tepat dalam penggunaan CursorType dan LockTypenya. Selamat mencoba. Referensi :
** Cursor Type 1
** Cursor Type2
** Lock Type 1
** Lock Type 2








very good sir..
i was try it..but in every PC is different i think..
i didnt know why..but,thats actually.