1. Penggunaan Adoconnection dan Adotable di Delphi
Adoconnection dan adotable diatur untuk terhubung ke database (saya menggunakan SQLServer) di Delphi seperti yang diajarkan di banyak buku, dan tidak ada masalah dalam berjalan. Kemudian saya memodifikasinya, tujuannya adalah untuk memodifikasi database koneksi tanpa memodifikasi properti ConnectionString dari adoconnection di Delphi, dan kotak dialog koneksi tidak muncul.
Langkah Modifikasi: Setel LoginPrompt ke False, Hapus Properti ConnectionString, dan tambahkan kode koneksi
Constr: = 'penyedia = sqloledb.1; kata sandi = 1982072019; ID pengguna = SA; katalog awal = Storagemanagement; Sumber data = 10.16.99.175';
mencoba
LoginForm.tempadoconnection.ConnectionString: = constr;
LoginForm.tempadoconnection.connected: = true;
kecuali
MessagedLG ('Koneksi database salah !! Silakan periksa dataconfig.xml', mtConfirmasi, [mbok], 0);
Application.Malter;
akhir;
Dengan cara ini, tidak ada masalah menghubungkan ke database ketika program berjalan. Tetapi masalah yang terjadi adalah bahwa dalam kontrol yang dapat diisaktifkan Dlephi tidak dapat terhubung ke tabel karena properti ConnectionString tidak memiliki nilai. Kesalahan dilaporkan sebagai "pernyataan otorisasi tidak valid". Cara menggunakan adoconnection dan kontrol yang adot di Delphi, dan hindari kotak dialog koneksi yang mengganggu.
2. Gunakan pernyataan SQL di Delphi.
Karena pernyataan SQL membutuhkan penawaran ganda untuk menetapkan nilai ke string, sedangkan string tertutup dalam penawaran tunggal di Delphi, saya mengalami beberapa masalah menggunakannya. Hasil percobaan saya adalah bahwa dua kutipan tunggal digunakan di Delphi sebagai ganti kutipan ganda dalam pernyataan SQL. Tidak tahu apakah itu benar?
Saya masih tidak tahu persis bagaimana menggunakannya.
3. Gunakan Adoquery di Delphi 7.0 untuk mengembalikan hasil.
Saya melaporkan kesalahan setelah menggunakannya, tetapi ada program CD yang menggunakannya dengan cara ini tanpa kesalahan. Saya menggunakan parameter ['xxxx'], dan saya tidak dapat menggunakan .asstring
4. Kode Asli:
==================================================== =================== ===========================
Jika caninsert maka
Mulai
dengan allDatamodule.aq_otherMaterielout lakukan
Mulai
Menutup;
Sql.clear;
SQL.Text: = 'Sisipkan nilai -nilai OtherMaterielout (Materielid, Jumlah) (: InsertId ,: Insertamount,)';
Parameter [0] .value: = myMateriel;
Parameter [1] .value: = Myamount;
Execsql;
akhir;
dengan allDatamodule.aq_otherMaterielstock lakukan
Mulai
Menutup;
Sql.clear;
SQL.TEXT: = 'UPDATE OtherMaterielStock Set Jumlah = Jumlah-: Updateamount di mana materialId =: updateId';
Parameter [0] .value: = myamount;
Parameter [1] .value: = myMateriel;
Execsql;
akhir;
materialoutform.close;
akhir;
Setelah kode ini
dengan allDatamodule.aq_otherMaterielout lakukan
Mulai
Menutup;
Sql.clear;
SQL.TEXT: = 'UPDATE OtherMaterielStock Set Jumlah = Jumlah-: Updateamount di mana materialId =: updateId';
Parameter [0] .value: = myamount;
Parameter [1] .value: = myMateriel;
Execsql;
akhir;
Fungsi secara otomatis menampilkan daftar kontrol yang dapat digunakan tidak dapat digunakan dengan allDatamodule, tetapi saya memaksa kode di belakangnya untuk tetap berfungsi. Apa yang terjadi?