Direkomendasikan: Gunakan SQL-DMO untuk membuat aplikasi Cadangan dan Verifikasi ASP Ikhtisar SQL Distributed Management Objects (SQL-DMO) memberikan pengembang metode untuk melakukan tugas biasa menggunakan bahasa program dan skrip, sehingga memperluas fungsionalitas SQL Server. Artikel ini berbicara tentang cara menggunakan SQL-DMO secara cerdik untuk membuat
1. Pilih pernyataan
Di dunia SQL, operasi paling mendasar adalah pernyataan SELECT. Saat menggunakan SQL langsung di bawah alat database, banyak orang akan terbiasa dengan operasi berikut:
| Berikut ini adalah konten yang dikutip: Pilih apa Dari tempat yang mana Dimana kriteria |
Melaksanakan pernyataan di atas akan membuat kueri yang menyimpan hasilnya.
Pada file halaman ASP, Anda juga dapat menggunakan sintaks umum di atas, tetapi situasinya sedikit berbeda. Saat pemrograman ASP, konten dari pernyataan SELECT harus ditetapkan ke variabel sebagai string:
| Berikut ini adalah konten yang dikutip: SQL = Pilih What dari WhereTable Where Criteria |
Oke, saya mengerti bagaimana SQL berbicara di bawah ASP, dan kemudian melakukannya dengan cara yang sama. Selama Anda memenuhi kebutuhan Anda, mode kueri SQL tradisional dan kueri bersyarat dapat bermanfaat.
Misalnya, Anda mungkin juga berasumsi bahwa ada tabel data di database Anda, yaitu produk, dan sekarang Anda ingin mengambil semua catatan dalam tabel ini. Kemudian Anda menulis kode berikut:
| Berikut ini adalah konten yang dikutip: SQL = Pilih * dari Produk |
Fungsi dari pernyataan kode-SQL di atas adalah untuk mengambil semua data dalam tabel. Setelah eksekusi, semua catatan dalam tabel data akan dipilih. Namun, jika Anda hanya ingin menghapus kolom tertentu dari tabel, seperti p_name. Maka Anda tidak dapat menggunakan karakter * wildcard. Anda harus mengetik nama kolom tertentu, dan kodenya adalah sebagai berikut:
| Berikut ini adalah konten yang dikutip: Sql = pilih p_name dari produk |
Setelah menjalankan kueri di atas, semua konten dalam tabel produk dan kolom P_NAME akan dipilih.
2. Tetapkan kondisi kueri untuk klausa di mana
Misalnya, jika Anda hanya berencana untuk mengambil catatan P_NAME, dan nama -nama catatan ini harus dimulai dengan huruf w, maka Anda harus menggunakan klausa di mana berikut:
| Berikut ini adalah konten yang dikutip: Sql = pilih p_name dari produk di mana p_name seperti 'w%' |
Kata kunci di mana diikuti oleh kondisi yang digunakan untuk memfilter data. Dengan bantuan kondisi ini, hanya data yang memenuhi standar tertentu yang akan ditanya. Dalam contoh di atas, hasil kueri hanya akan mendapatkan catatan P_NAME dengan nama dimulai dengan w.
Dalam contoh di atas, persentase simbol (%) berarti bahwa kueri mengembalikan semua entri catatan yang dimulai dengan huruf W dan diikuti oleh data apa pun atau bahkan tidak ada data. Oleh karena itu, ketika menjalankan kueri di atas, Barat dan Willow akan dipilih dari tabel produk dan disimpan dalam kueri.
Seperti yang Anda lihat, cukup rancang pernyataan Pilih dengan cermat, Anda dapat membatasi jumlah informasi yang dikembalikan dalam catatan, dan berpikir lebih banyak akan selalu memenuhi kebutuhan Anda.
Ini hanyalah awal dari menguasai penggunaan SQL. Untuk membantu Anda secara bertahap menguasai penggunaan pernyataan terpilih yang kompleks, mari kita lihat istilah standar utama: operator perbandingan. Hal -hal ini sering digunakan saat Anda membangun string terpilih sendiri untuk mendapatkan data tertentu.
Dimana dasar klausa
Ketika Anda mulai membuat klausa di mana, cara termudah adalah dengan menggunakan simbol perbandingan standar, yaitu <, <=,>,> =, <> dan =. Jelas, Anda akan segera memahami makna dan hasil spesifik dari kode berikut:
| Berikut ini adalah konten yang dikutip: Pilih * dari Produk di mana P_PRICE> = 199.95 Pilih * dari Produk di mana P_PRICE <> 19.95 Pilih * dari Produk di mana p_version = '4' |
Catatan: Di sini Anda akan melihat bahwa angka 4 dalam contoh terakhir dikelilingi oleh kutipan tunggal. Alasannya adalah bahwa dalam contoh ini, 4 adalah jenis teks daripada tipe numerik.
3. Operator perbandingan: suka, tidak suka dan antara
Operator perbandingan menentukan rentang konten yang data diambil dari tabel. Anda dapat menggunakannya untuk membuat filter untuk mempersempit ruang lingkup Recordset, menyebabkannya hanya menyimpan informasi yang Anda pedulikan di bawah tugas tertentu.
Anda telah melihat penggunaan suka dalam contoh di mana Anda mengambil catatan header W di atas. Penentu sejenis adalah simbol yang sangat berguna. Namun, dalam banyak kasus, menggunakannya dapat membawa Anda terlalu banyak data, jadi yang terbaik adalah menggunakan otak Anda dan lebih memikirkan data apa yang ingin Anda peroleh sebelum menggunakannya. Misalkan Anda ingin mengeluarkan jumlah SKU 5 digit, dan awalnya adalah 1 dan berakhir adalah 5, maka Anda dapat menggunakan garis bawah (_) alih -alih simbol %:
Sql = pilih * dari produk di mana p_sku seperti '1___5'
Underscore mewakili karakter apa pun. Jadi ketika Anda memasukkan 1___5, pencarian Anda akan terbatas pada rentang 5 digit yang memenuhi mode tertentu.
Jika Anda ingin melakukan yang sebaliknya, cari tahu semua entri SKU yang tidak cocok dengan mode 1___5. Maka Anda hanya perlu menambahkan tidak ke contoh dalam contoh pernyataan sekarang.
DI ANTARA
Misalkan Anda ingin mengekstrak data dalam kisaran tertentu dan Anda tahu titik awal dan titik akhir kisaran sebelumnya, maka Anda mungkin juga menggunakan kata antara penilaian. Sekarang mari kita asumsikan bahwa Anda ingin memilih catatan dengan kisaran antara 1 dan 10 dalam tabel tertentu. Anda dapat menggunakan antara sebagai berikut:
… Di mana ID antara 1 dan 10
Atau Anda dapat menggunakan kalimat penilaian matematika yang akrab:
… Dimana id> = 1 dan id> = 10
4. Pernyataan bersama
Pernyataan SQL yang telah kita bicarakan sejauh ini relatif sederhana. Jika mereka dapat melewati kueri loop recordset standar, maka pernyataan ini juga dapat memenuhi beberapa persyaratan yang lebih kompleks. Namun, mengapa Anda harus tetap berpegang pada tingkat dasar hanya mencobanya? Anda dapat menambahkan beberapa simbol lain, seperti dan, atau dan tidak, untuk menyelesaikan fungsi yang lebih kuat.
Pernyataan SQL berikut adalah contoh:
| Berikut ini adalah konten yang dikutip: Sql = pilih c_firstname, c_lastname, c_email dari pelanggan di mana c_email tidak nol dan c_purchase = '1' atau c_purchase = '2' dan c_lastname seperti 'a%' |
Dengan pengetahuan SQL yang Anda miliki saat ini, contoh -contoh di atas tidak sulit untuk dijelaskan, tetapi pernyataan di atas tidak secara jelas memungkinkan Anda untuk melihat bagaimana kalimat bersyarat direkatkan ke dalam satu pernyataan SQL.
Beberapa pernyataan baris
Jika pernyataan SQL tidak mudah dipahami, Anda mungkin juga menguraikan seluruh pernyataan menjadi beberapa baris kode, dan kemudian secara bertahap menambahkan berbagai komponen pernyataan kueri berdasarkan variabel yang ada dan menyimpannya dalam variabel yang sama:
| Berikut ini adalah konten yang dikutip: Sql = pilih c_firstname, c_lastname, c_emailaddress, c_phone Sql = sql & dari pelanggan Sql = sql & di mana c_firstname seperti 'a%' dan c_emailaddress not null Sql = sql & order oleh c_lastname, c_firstname |
Dengan kalimat terakhir, variabel SQL berisi pernyataan pilih lengkap berikut:
| Berikut ini adalah konten yang dikutip: Pilih c_firstname, c_lastname, c_emailaddress, c_phone dari pelanggan di mana c_firstname seperti 'a%' dan c_emailaddress no null order oleh c_lastname, c_firstname |
Setelah menguraikan seluruh kalimat di atas, jelas lebih mudah dibaca! Saat men -debug, Anda mungkin lebih bersedia mengetik beberapa karakter lagi untuk mengubah program dan membacanya dengan lebih baik. Tetapi Anda harus ingat bahwa Anda perlu menambahkan spasi sebelum menutup kutipan atau setelah membuka kutipan, sehingga Anda tidak menyatukan beberapa kata ketika string terhubung.
5. Mulai eksekusi
Setelah mempelajari konstruksi dan penggunaan pernyataan terpilih, sekarang saatnya untuk mempelajari cara menggunakannya. Di bawah alat database yang Anda miliki, ini mungkin berarti Anda harus menekan tombol dengan kata "eksekusi". Pada halaman web ASP, pernyataan SQL dapat dieksekusi segera atau dapat dipanggil sebagai prosedur tersimpan.
Setelah pernyataan SQL dibuat, Anda juga harus mencoba mengakses hasil kueri. Jelas, kuncinya di sini adalah ASP Recordset. Untuk memanfaatkan keterampilan SQL Anda sebaik -baiknya, Anda lebih akrab, Anda perlu menyesuaikan rekaman yang paling umum digunakan pada halaman web ASP biasa:
| Berikut ini adalah konten yang dikutip: Redup Set RS = Server.CreateObject (ADODB.Recordset) Rs.open SQL, Conn, 1,2 |
Di sini Conn adalah deklarasi koneksi database, dan satu -satunya modifikasi adalah menggunakan variabel yang berisi pernyataan SQL untuk menggantikan nama tabel data yang akan ditanyakan.
Salah satu keuntungan dari pendekatan ini adalah Anda dapat menentukan tipe kursor (seperti yang ditunjukkan pada 1 dan 2 di atas).
Jalankan SQL
Anda juga dapat membuat rekaman menggunakan baris kode yang ringkas untuk menjalankan pernyataan SQL. Berikut ini adalah sintaks:
Redup
Set RS = Conn.Execute (SQL)
Dalam contoh di atas, SQL yang Anda lihat adalah variabel yang Anda simpan pernyataan SQL Select Anda sendiri. Baris kode ini menjalankan pernyataan SQL (atau meminta database), memilih data dan menyimpan data dalam Recordset, dalam contoh di atas, variabel Rs. Kerugian utama dari pendekatan ini adalah Anda tidak dapat memilih jenis kursor yang ingin Anda gunakan. Sebaliknya, Recordset selalu dibuka dengan kursor maju.
Karena kursor, Anda mungkin terbiasa dengan dua cara untuk membuat rekaman. Melaksanakan kueri secara langsung menghemat waktu yang dihabiskan untuk mengetik karakter, tetapi dalam hal ini Anda harus menggunakan kursor default, yang mungkin sering gagal berfungsi secara normal. Tidak peduli metode mana yang Anda gunakan, perbedaan terbesar antara keduanya tidak lebih dari apakah kode tersebut disempurnakan atau tidak. Tanpa mempertimbangkan bidang apa yang Anda dapatkan atau apa standar Anda, dan terlepas dari bagaimana Anda menyimpan data, menggunakan recordset gaya SQL akan jauh lebih kecil dari ukuran standar yang dibuka pada ASP, belum lagi kemudahan operasi. Lagi pula, dengan memfilter data, Anda menghilangkan tes IF-Then yang memakan waktu dan kemungkinan loop.
6. Kueri Toko
Ketika kueri Anda relatif sederhana, tidak perlu banyak upaya untuk membuat pernyataan SQL dari awal setiap saat. Namun, pertanyaan kompleks berbeda. Setiap kali Anda mulai dari awal, Anda akan menghasilkan banyak kesalahan pengembangan. Jadi begitu SQL berjalan dengan lancar, Anda sebaiknya menyimpannya dan memanggil mereka jika diperlukan. Dengan cara ini, bahkan kueri sederhana dapat digunakan untuk menyimpan pernyataan kueri kapan saja.
Misalkan Anda harus melapor ke tim Anda seminggu sekali untuk menunjukkan masalah dukungan bisnis saat ini, yang perlu dipilih dari database Anda, dan catatan harus dipilih berdasarkan tanggal, dan diurutkan sesuai dengan kategori masalah dukungan yang Anda gunakan. Setelah Anda merancang kueri ini, mengapa Anda harus menulis ulang sekali seminggu kemudian? Jangan membuat pertanyaan di halaman HTML Anda, Anda harus membuat pertanyaan dengan alat basis data Anda dan menyimpannya. Kemudian Anda dapat menggunakan properti ActiveCommand untuk memasukkan kueri ke halaman ASP Anda. Anda mungkin merasa tidak ada artinya dalam satu atau dua pertama, tetapi sebenarnya itu hanya beberapa baris kode:
| Berikut ini adalah konten yang dikutip: Set OBJSQ = Server.CreateObject (AdodB.Command) OBJSQ.ActiveConnection = DatabaseName OBJSQ.CommandText = StoredQueryName OBJSQ.CommandType = ADCMDStoredProc atur objrec = objsq.execute |
Perhatikan bahwa menggunakan ADCMDStoredProc berarti bahwa Anda telah menyertakan file adovbs.inc di halaman. File ini mendefinisikan konstanta akses yang dapat Anda akses dengan nama daripada dengan nomor. Cukup sertakan file di halaman), dan kemudian Anda dapat menggunakan ADCMDStoredProc. Dengan cara ini, akan lebih mudah untuk memahami apa arti kueri tersimpan di atas ketika Anda melihatnya di masa depan.
7. Pesan oleh
Pilih hal -hal yang paling menjijikkan dari database Access, dan mereka dimasukkan ke dalam database dalam urutan yang dimasukkan. Bahkan jika Anda menggunakan sortir di lingkungan akses untuk mengubah tampilan catatan, urutan catatan dalam tabel data tidak berubah.
Jika Anda menggunakan ASP Recordset untuk menulis catatan di halaman web, maka Anda mungkin tahu betapa menyakitkannya untuk mendapatkan kekacauan. Tetapi Anda mungkin harus sering menghadapi masalah ini karena tidak ada solusi sederhana dan nyaman. Untungnya, pesan dengan dapat menyederhanakan masalah ini.
Untuk mengurutkan hasil Anda, cukup tambahkan pesanan ke akhir pernyataan SELECT dan tentukan kolom referensi yang perlu Anda urutkan. Jadi, jika Anda ingin mengurutkan tabel pelanggan berdasarkan nama belakang pelanggan, Anda dapat menulis pernyataan kueri berikut:
Sql = pilih c_lastname, c_firstname, c_email dari pesanan pelanggan oleh c_lastname
Dengan cara ini, selama Anda membuat rekaman dan mulai menulis hasilnya ke layar, Anda akan melihat bahwa data diatur secara abjad.
Berikut ini adalah operasi di atas meja:
Hanya salin struktur Tabel A ke Tabel B (tidak ada data penyalinan)
| Berikut ini adalah konten yang dikutip: sql = pilih * ke b dari A di mana 1 <> 1 sql = pilih * ke b dari A di mana 1 = 0 |
Salin struktur dan data Tabel A ke Tabel B
| Berikut ini adalah konten yang dikutip: sql = pilih * ke b dari a |
Bagikan: ASP 3.0 Pemrograman Lanjutan (45) Eksekusi asinkron mengacu pada pengambilan data di latar belakang, dan data yang Anda peroleh dapat digunakan pada halaman web sebelum semua data dikembalikan. Meskipun semua data mungkin diperlukan, pekerjaan asinkron dapat mulai memproses data setidaknya sebelumnya. Ini juga dapat memungkinkan pengguna untuk melihat konten tertentu terlebih dahulu, yang membuat situs web