.Net Core Npgsql Disiapkan Pernyataan
Saya telah mencoba untuk mengubah beberapa pernyataan SQL dalam aplikasi .Net Core agar lebih dapat digunakan kembali dengan menggunakan Pernyataan Disiapkan tetapi saya mengalami masalah dengan NpgsqlDbType.
Saya sudah mencoba mengikuti instruksi dokumentasi.
NpgsqlCommand command = new NpgsqlCommand (
" select * from computers where com_phys = @com_phys ",
dbconnection
);
command.Parameters.Add("com_phys", NpgsqlDbType.Varchar);
command.Prepare();
Tapi itu gagal untuk dikompilasi, katanya
The name 'NpgsqlDbType' does not exist in the current context
Apakah saya melewatkan sesuatu? Bagaimana cara menggunakan NpgsqlDbType?
MEMPERBARUI
Saya hanya menempatkan hal kerja terakhir di sini seandainya itu dapat menguntungkan orang lain
// prepare
NpgsqlCommand command = new NpgsqlCommand (
" select * from computers where com_phys = @com_phys ",
dbconnection
);
var param01 = command.Parameters.Add("com_phys", NpgsqlDbType.Varchar);
command.Prepare();
// execute 01
param01.Value = "value01";
var results = command.ExecuteReader();
while(results.Read()) {
// nothing
}
command.Close();
// execute 02
param01.Value = "value02";
var results = command.ExecuteReader();
while(results.Read()) {
// nothing
}
command.Close();
Jawaban
NpgsqlDbType ada di namespace NpgsqlTypes. Pastikan Anda menggunakan NpgsqlTypes di bagian atas.
Jika Anda ingin mengatur nilai pada saat yang sama, gunakan AddWithValuebukanAdd
NpgsqlCommand command = new NpgsqlCommand (
" select * from computers where com_phys = @com_phys ",
dbconnection
);
command.Parameters.AddValue("com_phys", NpgsqlDbType.Varchar, value);
// OR command.Parameters.AddValue("com_phys", NpgsqlDbType.Varchar, size, value);
// OR command.Parameters.AddValue("com_phys", value);
command.Prepare();
Jika Anda ingin menambahkan parameter satu kali dan mengeksekusi beberapa kali, Anda dapat menyimpan referensi ke parameter tersebut
var parameter = command.Parameters.Add("com_phys", NpgsqlDbType.Varchar);
// Later, in a loop
parameter.Value = "someValue";