Membangun aplikasi basis data. Pengembangan aplikasi untuk bekerja dengan database

Mari kita buat aplikasi database sederhana yang menampilkan informasi dari tabel "Turis" dan catatan tabel "Informasi Turis" dari database yang terkait dengan catatan saat ini dari tabel "Turis". akses microsoft.

Untuk melakukan ini, kami akan membuat aplikasi Windows kosong. Penampilan lingkungan

perkembangan ditunjukkan pada Gambar 39.

Beras. 39. Aplikasi kosong

Gambar 39 menyoroti grup komponen "Data" ("Data"), yang berisi komponen untuk mengakses dan memanipulasi data.

Pengikatan data database ke formulir dilakukan oleh komponen "Binding Source". Mari kita transfer ke formulir. Setelah menempatkannya di formulir, lingkungan pengembangan mengambil bentuk berikut (Gbr. 40).

Beras. 40. Komponen Sumber Binding pada formulir

Komponennya non-visual, sehingga ditampilkan di panel tambahan. Properti utama komponen adalah properti DataSource, yang menunjuk ke sumber data. Secara default, properti kosong, jadi Anda perlu membentuk nilainya. Saat properti ini dipilih, jendela berikut muncul di jendela properti (Gbr. 41).

Beras. 41. Daftar sumber data

Daftar saat ini kosong, jadi Anda perlu membuat sumber data baru dengan memilih perintah "Tambahkan Sumber Data Proyek" untuk membuat sumber data baru dan menyambungkannya. Kotak dialog berikut akan muncul (Gbr. 42).

Beras. 42. Daftar sumber data

Dialog ini menyediakan pilihan sumber data berikut:

Basis data - Basis data;

Layanan - Layanan, ini adalah beberapa layanan yang menyediakan data. Paling sering ini adalah layanan Web;

Objek - Objek untuk memilih objek yang akan menghasilkan data dan objek untuk bekerja dengannya.

Dalam kasus kami, Anda harus memilih item "Database". Jendela pemilihan koneksi data muncul (Gbr. 43).

Beras. 43. Memilih koneksi data

Tujuan dari dialog ini adalah untuk membuat string koneksi yang mendeskripsikan parameter koneksi untuk mesin ADO, seperti tipe database, lokasinya, nama pengguna, fitur keamanan, dan sebagainya.

Daftar drop-down dialog berisi semua koneksi yang dibuat sebelumnya. Jika koneksi yang diperlukan tidak ada dalam daftar, maka tombol "Koneksi baru" harus digunakan. Menekan tombol mengarah ke tampilan dialog berikut (Gbr. 44).

Dialog ini memilih jenis sumber data (dalam hal ini Microsoft Access), nama database (dalam hal ini nama dan lokasi file database), nama pengguna dan kata sandi yang digunakan untuk terhubung ke database. Tombol "Lanjutan" memungkinkan Anda menyetel sejumlah besar parameter yang terkait dengan berbagai bagian mesin ADO. Menggunakan tombol "Uji Koneksi" akan memastikan bahwa parameter yang dimasukkan sudah benar dan koneksi berfungsi.

Beras. 44. Buat koneksi baru

Langkah terakhir dari dialog adalah pemilihan tabel atau objek database lain yang diperlukan sumber yang diberikan data. Jendela pemilihan ditunjukkan pada Gambar 45.

Beras. 45. Memilih tabel yang dibutuhkan

Di jendela ini, tabel "Turis" dan "Informasi tentang turis" dipilih. Karena tidak ada objek selain tabel yang dibuat dalam database, hanya tabel yang diperlihatkan pada Gambar 45. Ini melengkapi pembuatan sumber data. Setelah mengklik tombol "Selesai" di sebelah komponen BindingSource, komponen DataSet muncul di formulir.

Sekarang data yang terhubung di atas perlu ditampilkan di formulir. Cara termudah untuk menampilkan data adalah dengan menggunakan komponen DataGridView dari grup komponen Data. Komponennya visual dan terlihat seperti ini pada formulir (Gbr. 46).

Beras. 46. ​​​​Komponen DataGridView

Jendela pengaturan komponen segera muncul, yang menentukan kemampuan pengeditan datanya: "Aktifkan pengeditan" ("Aktifkan Penambahan"), "Aktifkan pengeditan" ("Aktifkan Pengeditan"), "Aktifkan penghapusan" ("Aktifkan Penghapusan"); kemampuan untuk mengubah urutan kolom: "Aktifkan kemampuan untuk mengubah urutan kolom" ("Aktifkan Penyusunan Ulang Kolom"); serta kemampuan untuk menyematkan wadah induk.

Agar komponen dapat menampilkan data, Anda harus memilih sumber data di daftar drop-down. Memilih daftar drop-down mengarah ke tampilan dialog berikut (Gbr. 47).

Beras. 47. Memilih Sumber Data untuk DataGridView

Dalam hal ini, kami telah memilih tabel “Wisatawan” sebagai sumber data. Pilihan ini mengubah bentuk layar sebagai berikut (Gbr. 48).

Beras. 48. Komponen DataGridView menampilkan struktur tabel

Gambar tersebut menunjukkan bahwa ada komponen BindingSource lain dan komponen TableAdapter yang berfungsi dengan tabel "Turis". Harap dicatat bahwa dalam waktu desain atau selama pengembangan, data dari tabel tidak ditampilkan.

Sekarang Anda perlu menampilkan data dari tabel terkait "Informasi Turis". Untuk melakukannya, mari tempatkan komponen DataGridView lain pada formulir dan pilih yang berikut ini sebagai sumber data (Gbr. 49).

Beras. 49. Memilih sumber data untuk DataGridView kedua

Di sini, sumber datanya bukan tabel “Tourists Information” itu sendiri, melainkan tautan (Binding Source) antara tabel “Tourists” dan “Tourists Information”. Pilihan ini memastikan bahwa hanya baris-baris di tabel Informasi Turis yang terkait dengan baris saat ini di tabel Turis yang dipilih dari tabel Informasi Turis. Ini juga memastikan bahwa data terkait diperbarui dan dihapus dengan benar. Pengoperasian aplikasi yang dihasilkan ditunjukkan pada Gambar 50.

Beras. 50. Aplikasi basis data beraksi

Menavigasi melalui data menggunakan tombol panah tidak nyaman. Untuk mempermudah navigasi data, terdapat komponen BindingNavigator. Mari letakkan di formulir (Gbr. 51).

Beras. 51. Komponen BindingNavigator pada formulir

Komponen ini memungkinkan Anda untuk bernavigasi di antara entri tabel, menambah dan menghapus baris tabel. Peluang dan penampilan Komponen dapat dikonfigurasi karena merupakan strip menu ToolStripContainer.

Properti yang menentukan tabel untuk dinavigasi adalah properti BindingSource. Tetapkan nilai properti ini ke "touristsBindingSource". Dalam pengoperasiannya, komponen terlihat seperti ini (Gbr. 52).

Beras. 52. Komponen BindingNavigator bekerja

Mengedit data dalam sel komponen DataGridView dengan pengaturan yang sesuai dimungkinkan, tetapi tidak nyaman dan tidak rasional. Secara khusus, sulit untuk memeriksa kesalahan nilai yang dimasukkan. Oleh karena itu, untuk tabel “Turis”, kami akan membuat formulir layar yang memungkinkan Anda untuk menampilkan data dalam komponen TextBox dan mengeditnya. Untuk melakukan ini, mari tempatkan wadah tipe Panel pada formulir, dan tiga komponen TextBox di atasnya sebagai berikut (Gbr. 53).

Beras. 53. Panel layar untuk mengedit catatan tabel "Wisatawan"

Sekarang Anda perlu mengikat komponen TextBox ke bidang yang sesuai dari tabel "Wisatawan". Untuk melakukan ini, gunakan properti dari grup DataBindings - Advanced, yang ditunjukkan pada Gambar 54.

Beras. 54. Properti "DataBindings - Lanjutan".

Memilih properti ini mengarah ke tampilan dialog yang ditunjukkan pada Gambar 55. Dialog ini memungkinkan Anda untuk tidak hanya mengikat data, tetapi juga mengatur acara di mana data akan diperbarui, serta pemformatan data saat ditampilkan.

Untuk komponen TextBox atas dalam daftar drop-down Binding, pilih sumber data "touristsBmdmgSource" dan kolom sumber - "Last name". Untuk komponen tengah dan bawah TextBox, kami akan memilih sumber data yang sama dan masing-masing bidang "Nama Depan" dan "Patronimik".

Aplikasi yang dikembangkan dalam operasi terlihat seperti ini (Gbr. 56).

Beras. 55. Kotak dialog untuk properti "DataBindings - Advanced".

Beras. 56. Mengikat Data ke Komponen Visual

Namun, saat perubahan dilakukan, semua data baru hanya tersisa di formulir. Mereka tidak disimpan di database, dan ketika aplikasi dipanggil lagi, tentu saja mereka tidak ada. Ini karena data telah dimuat ke objek DataSet, yang merupakan salinan tabel dalam memori. Semua tindakan dilakukan pada salinan ini. Agar perubahan tercermin dalam database, Anda harus menjalankan metode Update dari kelas TableAdapter. Dengan demikian, dalam aplikasi yang sedang dikembangkan, Anda perlu menempatkan tombol "Perbarui" dan menulis kode program berikut ke event handler Click:

TouristTableAdapteGUpdate(bDTur_firmDataSet); Tourist_informationTableAdapter.Update(bDTur_firmDataSet);

Kode ini memperbarui informasi di tabel "Turis" dan "Informasi Turis" yang disediakan oleh sumber data. Perhatikan bahwa metode ini kelebihan beban, dan variannya memungkinkan Anda memperbarui satu baris tabel dan sekelompok baris.

Mari buat aplikasi database sederhana yang menampilkan informasi dari tabel "Wisatawan" dan catatan tabel "Informasi tentang turis" dari database yang terkait dengan catatan saat ini dari tabel "Turis". Data Microsoft mengakses.

Untuk melakukan ini, kami akan membuat aplikasi Windows kosong. Penampilan lingkungan

perkembangan ditunjukkan pada Gambar 39.

Beras. 39. Aplikasi kosong

Gambar 39 menyoroti grup komponen "Data" ("Data"), yang berisi komponen untuk mengakses dan memanipulasi data.

Pengikatan data database ke formulir dilakukan oleh komponen "Binding Source". Mari kita transfer ke formulir. Setelah menempatkannya di formulir, lingkungan pengembangan mengambil bentuk berikut (Gbr. 40).

Beras. 40. Komponen Sumber Binding pada formulir

Komponennya non-visual, sehingga ditampilkan di panel tambahan. Properti utama komponen adalah properti DataSource, yang menunjuk ke sumber data. Secara default, properti kosong, jadi Anda perlu membentuk nilainya. Saat properti ini dipilih, jendela berikut muncul di jendela properti (Gbr. 41).

Beras. 41. Daftar sumber data

Daftar saat ini kosong, jadi Anda perlu membuat sumber data baru dengan memilih perintah "Tambahkan Sumber Data Proyek" untuk membuat sumber data baru dan menyambungkannya. Kotak dialog berikut akan muncul (Gbr. 42).

Beras. 42. Daftar sumber data

Dialog ini menyediakan pilihan sumber data berikut:

Basis data - Basis data;

Layanan - Layanan, ini adalah beberapa layanan yang menyediakan data. Paling sering ini adalah layanan Web;

Objek - Objek untuk memilih objek yang akan menghasilkan data dan objek untuk bekerja dengannya.

Dalam kasus kami, Anda harus memilih item "Database". Jendela pemilihan koneksi data muncul (Gbr. 43).

Beras. 43. Memilih koneksi data

Tujuan dari dialog ini adalah untuk membuat string koneksi yang mendeskripsikan parameter koneksi untuk mesin ADO, seperti tipe database, lokasinya, nama pengguna, fitur keamanan, dan sebagainya.

Daftar drop-down dialog berisi semua koneksi yang dibuat sebelumnya. Jika koneksi yang diperlukan tidak ada dalam daftar, maka tombol "Koneksi baru" harus digunakan. Menekan tombol mengarah ke tampilan dialog berikut (Gbr. 44).

Dialog ini memilih jenis sumber data (dalam hal ini Microsoft Access), nama database (dalam hal ini nama dan lokasi file database), nama pengguna dan kata sandi yang digunakan untuk terhubung ke database. Tombol "Lanjutan" memungkinkan Anda menyetel sejumlah besar parameter yang terkait dengan berbagai bagian mesin ADO. Menggunakan tombol "Uji Koneksi" akan memastikan bahwa parameter yang dimasukkan sudah benar dan koneksi berfungsi.

Beras. 44. Buat koneksi baru

Langkah terakhir dari dialog adalah pemilihan tabel atau objek database lain yang diperlukan dalam sumber data ini. Jendela pemilihan ditunjukkan pada Gambar 45.

Beras. 45. Memilih tabel yang dibutuhkan

Di jendela ini, tabel "Turis" dan "Informasi tentang turis" dipilih. Karena tidak ada objek selain tabel yang dibuat dalam database, hanya tabel yang diperlihatkan pada Gambar 45. Ini melengkapi pembuatan sumber data. Setelah mengklik tombol "Selesai" di sebelah komponen BindingSource, komponen DataSet muncul di formulir.

Sekarang data yang terhubung di atas perlu ditampilkan di formulir. Cara termudah untuk menampilkan data adalah dengan menggunakan komponen DataGridView dari grup komponen Data. Komponennya visual dan terlihat seperti ini pada formulir (Gbr. 46).

Beras. 46. ​​​​Komponen DataGridView

Jendela pengaturan komponen segera muncul, yang menentukan kemampuan pengeditan datanya: "Aktifkan pengeditan" ("Aktifkan Penambahan"), "Aktifkan pengeditan" ("Aktifkan Pengeditan"), "Aktifkan penghapusan" ("Aktifkan Penghapusan"); kemampuan untuk mengubah urutan kolom: "Aktifkan kemampuan untuk mengubah urutan kolom" ("Aktifkan Penyusunan Ulang Kolom"); serta kemampuan untuk menyematkan wadah induk.

Agar komponen dapat menampilkan data, Anda harus memilih sumber data di daftar drop-down. Memilih daftar drop-down mengarah ke tampilan dialog berikut (Gbr. 47).

Beras. 47. Memilih Sumber Data untuk DataGridView

Dalam hal ini, kami telah memilih tabel “Wisatawan” sebagai sumber data. Pilihan ini mengubah bentuk layar sebagai berikut (Gbr. 48).

Beras. 48. Komponen DataGridView menampilkan struktur tabel

Gambar tersebut menunjukkan bahwa ada komponen BindingSource lain dan komponen TableAdapter yang berfungsi dengan tabel "Turis". Harap dicatat bahwa dalam waktu desain atau selama pengembangan, data dari tabel tidak ditampilkan.

Sekarang Anda perlu menampilkan data dari tabel terkait "Informasi Turis". Untuk melakukannya, mari tempatkan komponen DataGridView lain pada formulir dan pilih yang berikut ini sebagai sumber data (Gbr. 49).

Beras. 49. Memilih sumber data untuk DataGridView kedua

Di sini, sumber datanya bukan tabel “Tourists Information” itu sendiri, melainkan tautan (Binding Source) antara tabel “Tourists” dan “Tourists Information”. Pilihan ini memastikan bahwa hanya baris-baris di tabel Informasi Turis yang terkait dengan baris saat ini di tabel Turis yang dipilih dari tabel Informasi Turis. Ini juga memastikan bahwa data terkait diperbarui dan dihapus dengan benar. Pengoperasian aplikasi yang dihasilkan ditunjukkan pada Gambar 50.

Beras. 50. Aplikasi basis data beraksi

Menavigasi melalui data menggunakan tombol panah tidak nyaman. Untuk mempermudah navigasi data, terdapat komponen BindingNavigator. Mari letakkan di formulir (Gbr. 51).

Beras. 51. Komponen BindingNavigator pada formulir

Komponen ini memungkinkan Anda untuk bernavigasi di antara entri tabel, menambah dan menghapus baris tabel. Fitur dan tampilan komponen dapat disesuaikan karena merupakan bilah menu ToolStripContainer.

Properti yang menentukan tabel untuk dinavigasi adalah properti BindingSource. Tetapkan nilai properti ini ke "touristsBindingSource". Dalam pengoperasiannya, komponen terlihat seperti ini (Gbr. 52).

Beras. 52. Komponen BindingNavigator bekerja

Mengedit data dalam sel komponen DataGridView dengan pengaturan yang sesuai dimungkinkan, tetapi tidak nyaman dan tidak rasional. Secara khusus, sulit untuk memeriksa kesalahan nilai yang dimasukkan. Oleh karena itu, untuk tabel “Turis”, kami akan membuat formulir layar yang memungkinkan Anda untuk menampilkan data dalam komponen TextBox dan mengeditnya. Untuk melakukan ini, mari tempatkan wadah tipe Panel pada formulir, dan tiga komponen TextBox di atasnya sebagai berikut (Gbr. 53).

Beras. 53. Panel layar untuk mengedit catatan tabel "Wisatawan"

Sekarang Anda perlu mengikat komponen TextBox ke bidang yang sesuai dari tabel "Wisatawan". Untuk melakukan ini, gunakan properti dari grup DataBindings - Advanced, yang ditunjukkan pada Gambar 54.

Beras. 54. Properti "DataBindings - Lanjutan".

Memilih properti ini mengarah ke tampilan dialog yang ditunjukkan pada Gambar 55. Dialog ini memungkinkan Anda untuk tidak hanya mengikat data, tetapi juga mengatur acara di mana data akan diperbarui, serta pemformatan data saat ditampilkan.

Untuk komponen TextBox atas dalam daftar drop-down Binding, pilih sumber data "touristsBmdmgSource" dan kolom sumber - "Last name". Untuk komponen tengah dan bawah TextBox, kami akan memilih sumber data yang sama dan masing-masing bidang "Nama Depan" dan "Patronimik".

Aplikasi yang dikembangkan dalam operasi terlihat seperti ini (Gbr. 56).

Beras. 55. Kotak dialog untuk properti "DataBindings - Advanced".

Beras. 56. Mengikat Data ke Komponen Visual

Namun, saat perubahan dilakukan, semua data baru hanya tersisa di formulir. Mereka tidak disimpan di database, dan ketika aplikasi dipanggil lagi, tentu saja mereka tidak ada. Ini karena data telah dimuat ke objek DataSet, yang merupakan salinan tabel dalam memori. Semua tindakan dilakukan pada salinan ini. Agar perubahan tercermin dalam database, Anda harus menjalankan metode Update dari kelas TableAdapter. Dengan demikian, dalam aplikasi yang sedang dikembangkan, Anda perlu menempatkan tombol "Perbarui" dan menulis kode program berikut ke event handler Click:

TouristTableAdapteGUpdate(bDTur_firmDataSet); Tourist_informationTableAdapter.Update(bDTur_firmDataSet);

Kode ini memperbarui informasi di tabel "Turis" dan "Informasi Turis" yang disediakan oleh sumber data. Perhatikan bahwa metode ini kelebihan muatan, dan variannya memungkinkan Anda memperbarui satu baris tabel dan sekelompok baris.

PENGEMBANGAN APLIKASI UNTUK BEKERJA DENGAN DATABASE

Roza Gaynanova

dosen Departemen Disiplin Pendidikan Umum

Universitas Teknologi Riset Nasional Kazan

Rusia, Kazan

ANOTASI

Artikel ini membahas metode akses database dan antarmuka pemrograman yang digunakan dalam metode akses ini. Integrasi aplikasi Visual C# dengan server DBMS Microsoft SQL Server 2012. Sebagai contoh, pengembangan sistem Informasi"Agen turis".

ABSTRAK

Artikel ini membahas metode akses ke database dan antarmuka perangkat lunak yang digunakan dalam metode akses ini. Kami mempertimbangkan integrasi aplikasi Visual C# dengan server database Microsoft SQL Server 2012. Sebagai contoh pengembangan sistem informasi "Tourist Agency" dipertimbangkan.

Kata kunci: database, SQL Server, aplikasi, pengguna, kontrol, kueri.

kata kunci: database, SQL Server, aplikasi, pengguna, elemen kontrol, kueri.

Sistem informasi adalah seperangkat sarana, metode, dan personel yang saling berhubungan yang digunakan untuk menyimpan, memproses, dan mengeluarkan informasi untuk mencapai tujuan yang ditetapkan. Sistem informasi yang dikembangkan akan dibangun di atas teknologi client-server. Dalam sistem seperti itu, informasi disimpan di server, dan antarmuka sistem informasi disimpan komputer klien, di mana pengguna sistem informasi mendapatkan akses ke data.

Saat mengembangkan sistem informasi, dua tugas utama harus diselesaikan:

  • tugas mengembangkan database yang dirancang untuk menyimpan informasi;
  • tugas pembangunan GUI pengguna aplikasi klien.

Basis data "Agen Perjalanan" dibuat di Microsoft SQL Server 2012. Basis data menyimpan informasi tentang klien biro perjalanan (turis) ini, tentang tur yang ditawarkan olehnya, tentang pendaftaran dan pembayaran tur. Pada tahap desain database, tabel "Turis", "Tur", "Izin", "Musim", "Pembayaran" dibuat. Tautan dibuat di antara tabel.

Aplikasi biro perjalanan akan digunakan oleh kepala biro perjalanan, manajer penjualan, akuntan, kasir, dan staf kantor biro perjalanan. Salah satu pegawai kantor ditunjuk sebagai administrator sistem. Hanya dia yang akan memelihara akun pengguna. Selain lima tabel utama, tabel "Pengguna" dibuat, yang berisi informasi tentang pengguna basis data. Tabel ini tidak terkait dengan tabel lainnya. Struktur tabel ini: kode pengguna, nama belakang, posisi, login dan kata sandi. Hanya administrator sistem yang dapat membuat perubahan pada tabel ini.

Sistem keamanan SQL Server didasarkan pada dua konsep: otentikasi dan otorisasi. Administrator sistem, yang bertanggung jawab atas keamanan SQL Server, membuat objek login terpisah untuk setiap pengguna. Objek ini berisi nama akun pengguna SQL Server, kata sandi, nama lengkap, dan atribut lain yang digunakan untuk mengontrol akses ke database SQL Server. Dengan menghubungkan ke SQL Server, pengguna mendapatkan akses ke database tempat akunnya terdaftar. Untuk mendaftarkan akun di database tertentu, administrator sistem membuat nama pengguna database di dalamnya dan mengaitkannya dengan database tertentu. akun. Administrator sistem memberi pengguna kekuatan tertentu. Manajer penjualan dapat mengubah tabel "Turis" dan "Izin" serta mengubah kolom "Jumlah tempat" di tabel "Tur" setelah menjual voucher berikutnya. Seorang karyawan biro perjalanan dapat mengubah tabel "Musim" dan "Tur". Akuntan dan kasir - di tabel "Pembayaran".

Pemberian izin dapat dilakukan di SQL Server Management Studio dengan membuka jendela properti dari pengguna yang bersangkutan. Anda juga dapat memberikan izin menggunakan pernyataan GRANT. Contoh pemberian wewenang kepada seorang manajer. Pernyataan berikut memberikan hak kepada pengguna Menedger untuk melihat, memodifikasi tabel Turis, menyisipkan baris baru, dan menghapus data usang.

GUNAKAN Agen Perjalanan

PILIH, UPDATE, INSERT, HAPUS

PADA Turis

Instruksi serupa dibuat untuk bekerja dengan tabel "Tur". Untuk memberikan hak kepada manajer untuk mengubah hanya satu kolom dari tabel "Tur", setelah nama tabel dalam tanda kurung, nama kolom yang diubah "Tur" (Jumlah_kursi) ditunjukkan. Operasi SELECT, UPDATE yang disediakan.

Ada empat instruksi dalam Data Control Language (DCL): COMMIT (selesai), ROLLBACK (kembalikan), GRANT (hibah), REVOKE (cabut). Semua instruksi ini terkait dengan perlindungan database dari kerusakan yang tidak disengaja atau disengaja. Basis data rentan justru ketika perubahan dilakukan padanya. Untuk melindungi database, SQL menyediakan untuk membatasi operasi. Yang dapat mengubahnya, sehingga dijalankan hanya dalam transaksi. Saat banyak pengguna mencoba menggunakan tabel database yang sama pada saat yang sama, situasi sanggahan akan dibuat. Masalah konkurensi muncul bahkan dalam aplikasi yang relatif sederhana jika aplikasi diinstal dan dijalankan pada sistem multi-pengguna yang tidak memiliki kontrol konkurensi yang memadai. Transaksi tidak bertentangan jika dijalankan secara berurutan.

Salah satu alat utama untuk menjaga integritas database adalah transaksi. Transaksi merangkum semua pernyataan SQL yang dapat mempengaruhi database. Transaksi SQL diakhiri dengan salah satu dari dua pernyataan: COMMIT (selesai) atau ROLLBACK (rollback). Jika transaksi diakhiri dengan pernyataan ROLLBACK, maka semua pernyataannya dibatalkan, database dikembalikan ke keadaan awal. Sebuah transaksi normal dapat dijalankan dalam salah satu dari dua mode: READ-WRITE (baca-tulis) atau READ-ONLY (baca-saja). Anda dapat mengatur salah satu dari tingkat isolasi berikut untuk transaksi: SERIAIZABLE ( eksekusi berurutan), REPEATABLE READ (baca berulang), READ UNCOMMITED (baca data yang tidak terikat). Secara default, karakteristik BACA-TULIS dan SERIAIZABLE berlaku. Karakteristik default dari transaksi SQL biasanya cocok untuk sebagian besar pengguna.

Aplikasi dibuat di lingkungan Visual Studio 2012 dengan menggunakan bahasa pemrograman C#. Merancang produk perangkat lunak dimulai dengan pengembangan antarmuka pengguna.

Jendela aplikasi utama harus memanggil fungsi utama untuk bekerja dengan aplikasi (Gambar 1). Menu digunakan untuk melakukan operasi ini. Menu terdiri dari item berikut: "Tabel", "Kueri", "Laporan". Masing-masing item ini berisi sub-item. Setiap fungsi akan dieksekusi di jendelanya sendiri. Elemen MenuStrip diatur pada jendela aplikasi utama, opsi menu dibentuk. Elemen PictureBox ditempatkan di jendela formulir. Gambar dimuat ke area elemen. Gambar harus menutupi seluruh area. Properti SizeMode mengatur penskalaan gambar. Untuk properti ini, StretchImage dipilih dari daftar drop-down, gambarnya diskalakan sehingga menempati seluruh permukaan objek.

Untuk menampilkan daftar pengguna yang memiliki hak untuk bekerja dengan database "Agen Perjalanan", kontrol kotak kombo dipasang. Elemen comboBox terikat ke sumber data. Jendela " DENGANcom.omboBoxTugas”, di mana kotak centang "Gunakan elemen terikat data" dicentang, jika kotak centang ini dicentang, opsi pengikatan data akan terbuka. Elemen comboBox terikat ke tabel "Users", di baris "Display member", "Last name" dipilih. Untuk memasukkan login, kontrol textbox1 diatur, untuk memasukkan kata sandi, textBox2. Untuk elemen textBox1 dan textBox2, properti UsesSystemPasworChar disetel ke true, yang menentukan apakah teks dalam kotak teks harus ditampilkan dengan karakter kata sandi secara default. Dua tombol perintah "Masuk" dan "Ubah pengguna" disetel.

Saat mengikat elemen comboBox ke tabel "Users", event handler Form1_Load muncul di kode formulir.

formulir1_Load kekosongan pribadi (pengirim objek, EventArgs e)

this.usersTableAdapter1.Fill(this.travel agencyDataSet10.Users);

Saat memulai aplikasi, menu tidak tersedia. Untuk masuk, masukkan informasi pengguna Anda dan klik tombol "Masuk". Saat formulir dimuat, nama belakang pengguna yang ada di tabel Pengguna dimuat ke dalam kontrol comboBox1. Baris ditambahkan ke penangan ini yang membuat menu, tombol Ubah Pengguna tidak dapat diakses, dan dalam elemen comboBox1, tidak ada satu item pun yang dipilih:

menuStrip1.Enabled = false; comboBox1.SelectedIndex = -1;

button2.Enabled=false;

Gambar 1. Tampilan jendela aplikasi utama

Saat Anda mengklik tombol "Masuk", akan diperiksa apakah ada pengguna dengan nama belakang yang diberikan di tabel "Pengguna", dan apakah login dan kata sandi dimasukkan dengan benar. Area deskripsi kelas formulir menjelaskan parameter yang diteruskan ke perintah sql. Ini adalah tiga parameter: nama belakang pengguna, login dan kata sandinya.

parfam string pribadi, parpasw, parlog;

Baris berikut ditambahkan ke namespace:

menggunakan System.Data.SqlClient;

// "Masuk" klik tombol event handler

string sql="";

string connstr = @"Sumber Data= B302CN-8 \TEST_SQL;Katalog Awal=Agen Perjalanan;Keamanan Terintegrasi=Benar";

SqlDataReader cmReader;

parfam = comboBox1.Teks; parlog = kotakteks1.Teks;

SqlConnection conn = new SqlConnection(connstr);

sql = "PILIH Nama Belakang, Nama Pengguna, Kata Sandi DARI Pengguna" +

" DI MANA (Nama belakang = @fam) dan (Kata sandi [email dilindungi])";

SqlCommand cmdkod = new SqlCommand(sql, samb);

cmdkod.Parameters.Add(new SqlParameter("@fam", SqlDbType.NChar, 25));

cmdkod.Parameters["@fam"].Value = parfam;

cmdkod.Parameters.Add(new SqlParameter("@pasw", SqlDbType.NChar, 10));

cmdkod.Parameters["@pasw"].Value = parpasw;

cmdkod.Parameters.Add(new SqlParameter("@log", SqlDbType.NChar, 15));

cmdkod.Parameters["@log"].Value = parlog;

jika (!cmReader.Read())

MessageBox.Show("Sandi salah!");

cmReader.Tutup(); samb.Tutup();

menuStrip1.Enabled = true; comboBox1.SelectedIndex = -1;

button1.Enabled=false; button2.Enabled = true;

textBox1.Teks = ""; textBox1.Enabled = false;

textBox2.Text = ""; textBox2.Enabled = salah;

comboBox1.Enabled = salah;

cmReader.Tutup();

private void button2_Click(pengirim objek, EventArgs e)

menuStrip1.Enabled = false; comboBox1.Enabled = true;

textBox1.Enabled = true; textBox2.Enabled = true;

button1.Enabled = true; button2.Enabled=false;

Deskripsi tentang cara kerja event handler klik tombol "Login".

Baris connstr berisi string koneksi. String sql berisi teks kueri yang dihasilkan, dimulai dengan pernyataan pilih, setelah itu bidang yang dipilih dari tabel yang ditentukan setelah kata dari dicantumkan.

Handler membuat instance baru dari objek SqlConnection yang menyediakan koneksi ke server SQL. Objek SqlCommand berisi perintah dengan tiga parameter untuk mencari tabel Pengguna untuk pengguna dengan nama belakang, nama pengguna, dan kata sandi yang diberikan. Handler button1_Click membuka SqlConnection. Selanjutnya, handler mengeksekusi perintah SQL yang tersimpan di objek cmdkod.

cmReader = cmdcode.ExecuteReader();

Sebagai hasil dari eksekusi metode ExecuteReader, objek kelas SqlDataReader dibuat, yang memungkinkan Anda untuk membaca semua baris eksekusi perintah SQL secara berurutan. Untuk pengambilan sampel, metode SqlDataReader digunakan. membaca. Jika tabel "Pengguna" tidak berisi catatan apa pun dengan nama belakang, login, dan kata sandi yang diberikan, maka metode cmReader.Read() akan mengembalikan false. Ini berarti bahwa nama pengguna atau kata sandi yang dimasukkan salah. Dalam hal ini, pesan ditampilkan tentang data yang dimasukkan tidak valid, objek cmReader dan SqlConnection ditutup. Jika data pengguna dimasukkan dengan benar, menu dan tombol Ubah Pengguna akan tersedia. Tombol "Masuk" menjadi tidak tersedia. Elemen textBox1 dan textBox2 dihapus dan menjadi tidak dapat diakses. Elemen comboBox1 juga menjadi tidak tersedia (Gambar 2)

Gambar 2. Tampilan jendela utama setelah user login

Tabel dan hasil kueri akan ditampilkan pada kontrol DataGridView. Tujuan utama elemen ini adalah untuk menautkan ke tabel sumber data eksternal, terutama tabel database. Untuk kenyamanan melihat dan memasukkan entri baru, tabel "Musim", "Tur" dan "Izin", "Pembayaran" akan ditampilkan dua dalam satu jendela. Setiap kontrol DataGridView dikaitkan dengan tabel terkait di database Agen Perjalanan. Di jendela ini, tabel "Turis" dipilih (Gambar 3). Setelah koneksi selesai (mengklik tombol "Selesai"), komponen DataSet, BindingSource, dan TableAdapter muncul di formulir. Komponen-komponen ini bersifat non-visual, sehingga ditampilkan di panel tambahan. DataSet adalah objek khusus yang berisi gambar database. Untuk mengimplementasikan interaksi antara DataSet dan sumber data aktual, objek bertipe TableAdapter digunakan. Nama objek ini - adaptor, konverter - menunjukkan sifatnya. TableAdapter berisi metode Isi dan Perbarui, yang melakukan transfer data maju dan mundur antara DataSet dan tabel yang disimpan dalam database SQL Server. Metode Fiil mengisi DataSet dengan data dari server SQL, dan Perbarui memperbarui database server Data SQL dari DataSet lokal. Komponen BindingSource memudahkan untuk mengikat kontrol pada formulir ke data. Properti utama komponen BindingSource adalah properti Sumber Data, yang menunjuk ke sumber data.

Setelah koneksi tabel ke sumber data selesai, event handler Form2_Load muncul di kode program formulir.

form2_Load kekosongan pribadi (pengirim objek, EventArgs e)

this.touristsTableAdapter.Fill(this.travel agencyDataSet9.Tourists);

Saat formulir dimuat, data yang terdapat dalam tabel "Turis" ditampilkan di kontrol DataGridView di jendela formulir Form2. Anda dapat membuat perubahan pada tabel dan menambahkan rekaman baru. Setelah melakukan perubahan, klik tombol "Simpan Turis". Penangan acara untuk klik tombol "Simpan Turis":

private void button1_Click(pengirim objek, EventArgs e)

musimTableAdapter.Update(agen perjalananDataSet9);

MessageBox.Show("Data Tersimpan");

Gambar 3. Tampilan jendela dengan tabel "Wisatawan".

Setiap permintaan ditampilkan di jendela terpisah. Pada jendela Form1, menu "Permintaan" ditambahkan barang baru dengan nama permintaan. Jika kueri tidak memiliki parameter, kontrol DataGridView dipasang untuk menampilkan hasil kueri pada jendela formulir dan diikat ke prosedur atau fungsi database yang sesuai.

Artikel ini memberikan beberapa metode untuk mengembangkan aplikasi yang bekerja dengan database, cara mengatur akses untuk bekerja dengan kalangan terbatas, cara mengintegrasikan aplikasi Visual C# dengan server DBMS Microsoft SQL Server 2012. membagikan Bahasa pemrograman Visual C# dengan SQL memungkinkan Anda membuat aplikasi canggih dengan beragam fitur. Kekuatan utama SQL terletak pada penggalian data. Tidak peduli berapa banyak baris yang ada dalam sebuah tabel, mereka dapat diambil dengan satu pernyataan SELECT. Pada saat yang sama, kelemahan utama bahasa SQL adalah antarmuka penggunanya yang kurang berkembang. Dengan bahasa prosedural, Anda dapat membuat antarmuka yang nyaman memasukkan dan melihat data. Metode paling umum untuk menggabungkan SQL dengan bahasa prosedural disebut injeksi kode SQL. Pernyataan SQL dimasukkan di lokasi yang diinginkan dalam program prosedural. Informasi harus diteruskan antara program yang ditulis dalam bahasa prosedural dan kode SQL. Untuk ini, variabel dasar digunakan. Agar SQL mengenali variabel-variabel ini, mereka harus dideklarasikan. Variabel dideklarasikan di area deskripsi kelas formulir sebelum deskripsi kode program. Dalam kode, instance objek SqlConnection yang baru dibuat menyediakan koneksi ke server SQL. Objek SqlCommand menyediakan eksekusi perintah SQL yang disematkan.

Bibliografi:

  1. Allen Taylor. SQL untuk boneka, edisi ke-8.: Per. dari bahasa Inggris. - M .: LLC "I.D. Williams”, 2014. - 416 hal.
  2. Gainanova R.Sh. Pengembangan aplikasi untuk bekerja dengan database MS SQL Server 2012 // Ilmu dasar dan terapan hari ini: Prosiding konferensi praktis internasional XI (10-11 April 2017 Noth Charleston, AS), volume 3 - hal. 34-41.
  3. Frolov A.V., Frolov G.V. Desain visual aplikasi C#. - M.: KUDRITS-OBRAZ, 2003, - 512s.

Hampir setiap organisasi memiliki database sendiri. Mengapa, bahkan situs web menggunakannya untuk membuat bekerja dengan informasi menjadi lebih mudah dan sederhana. Memang, mereka memungkinkan Anda membuat perhitungan tanpa masalah, dengan cepat menemukan data yang diperlukan, dan secara umum, mereka hanya membuat urutan dalam informasi apa pun.

Seringkali pemrogram terlibat dalam pembuatannya, karena ini adalah proses kompleks yang diajarkan di lembaga pendidikan tinggi. Pelajaran, kursus, dan paket perangkat lunak untuk membuat perangkat lunak basis data juga banyak, banyak sekali, mudah bingung. Artikel ini akan fokus pada beberapa program utama untuk mengembangkan database.

Tentang SQL

SQL adalah bahasa pemrograman yang digunakan untuk membuat database. Jika Anda menginstalnya di komputer dan mulai membuat database, itu tidak akan nyaman. Ini karena fakta bahwa SQL itu sendiri tidak memiliki shell grafis, dan kueri basis data harus dikirim sama sekali garis komando. Untuk itu, muncul berbagai macam program yang mempermudah pengembangan database. Namun, mempelajari dasar-dasar bahasa ini tetap sepadan. Tiba-tiba, Anda perlu membuat semacam permintaan, tetapi program tidak berfungsi dengan benar.

akses microsoft

Program untuk membuat database ini pasti sudah tidak asing lagi bagi banyak orang. Bagaimanapun, dia datang dalam sebuah paket program Microsoft kantor. Program ini termasuk yang paling mudah dipelajari, karena pengetahuan tentang bahasa pemrograman SQL praktis tidak diperlukan di sana. Anda hanya dapat menunjukkan kueri mana yang akan dibuat, dan program itu sendiri akan membuat kueri SQL.

Tentang relevansi program. Sampai saat ini banyak database organisasi yang dibuat menggunakan Microsoft Access. Memang, programnya sendiri sangat mudah, terdapat antarmuka yang intuitif. Selain itu, dasar-dasar bekerja di Access bahkan diajarkan di sekolah dan kursus perguruan tinggi dasar!

PhpMyAdmin

Access, tentu saja, adalah program yang bagus, tetapi jika Anda membutuhkan database untuk sebuah situs, itu tidak akan bisa mengatasinya. Kemudian PhpMyAdmin datang untuk menyelamatkan. Ini sangat program yang bermanfaat untuk membuat database. Penginstalan di komputer membutuhkan waktu, dan selama penginstalan mudah melakukan kesalahan, dan itu tidak akan berhasil. Oleh karena itu, saat menginstal program ini untuk membuat database, Anda harus mengikuti petunjuknya dengan jelas. Namun kelebihan lain dari PhpMyAdmin adalah dapat juga diakses melalui internet dalam bentuk website! Misalnya, Anda memiliki situs web yang diberdayakan oleh WordPress. Ini akan memiliki database. Dan jika Anda memiliki situs di beberapa hosting yang bagus, kemungkinan besar, pekerjaan dengan database akan dilakukan melalui PhpMyAdmin, dan Anda dapat mengaksesnya melalui panel kontrol hosting.

Program lain untuk membuat database. Ini gratis, tetapi ada juga versi berbayar dengan fitur yang lebih baik. Sangat mudah untuk membuat tautan dengan tabel dalam program ini, dan secara umum, mudah digunakan. Nilai plus lainnya adalah Anda dapat menampilkan database di dalamnya bentuk grafis. Kebanyakan orang saat bekerja dengan database lebih memilih program khusus ini. Pada prinsipnya PhpMyAdmin tidak kalah dengan kemampuannya, namun tetap lebih didesain untuk bekerja dengan database situs.

Pada artikel ini, program utama untuk membuat database dipertimbangkan. Faktanya, ada banyak sekali, jadi semua orang memilih alat untuk dirinya sendiri, tetapi jika Anda baru terbiasa dan ingin mempelajari bidang ini, disarankan untuk bekerja dengan MySQL WorkBench. Setelah Anda mempelajari dasar-dasar SQL, tidak akan ada lagi perbedaan yang signifikan bagi Anda di mana harus bekerja, karena kuerinya sama di mana-mana. Juga nyaman bahwa, setelah membuat database dalam satu program, Anda dapat membukanya melalui perangkat lunak lain, yang juga dirancang untuk bekerja dengan database tersebut. Saat membuat perangkat lunak dengan database, Anda tidak dapat melakukannya tanpa pengetahuan ini. Selain itu, setelah menguasai SQL, Anda bahkan dapat membuatnya sendiri perangkat lunak untuk pengembangan dan pengeditan database.