Metode dasar memanggil prosedur tersimpan dan menggunakan nilai kembalian
Penulis:Eve Cole
Waktu Pembaruan:2009-05-31 00:08:21
Saya belum pernah menemukan cara yang baik untuk mereferensikan prosedur tersimpan dengan nilai kembalian, yang membuat saya mengambil banyak jalan memutar dalam menambahkan data. Baru-baru ini, setelah berkonsultasi dengan banyak informasi, saya akhirnya menemukannya di contoh Microsoft.
Pertama tulis prosedur tersimpan dengan nilai kembalian
buat prosedur proc_name
@para1 nchar(20), --parameter masukan
@para2 int = null out --parameter output untuk penggunaan program
sebagai
tetapkan tidak ada hitungan
if ( tidak ada (pilih * dari karyawan di mana em_name=@para1 ))
mulai
masukkan ke dalam nilai karyawan(nama)(@para1)
pilih @para2=@@identity --mengembalikan ID rekaman yang ditambahkan
return 1 --mengembalikan apakah data berhasil ditambahkan
akhir
kalau tidak
return 0 --pengembalian gagal
pergi
Lalu ada metode memanggil prosedur tersimpan
perintah perintah sql;
perintah = perintah sql baru(proc_name,koneksi sql baru(koneksitr));
command.paraments.add("@para1"),"name1"); //Input parameter, nama karyawan
command.paraments.add(new sqlparament("@para2", //Buat parameter keluaran
SqlDbType.Int; //tipe data parameter
ParamenterDirection.OutPut, //Jenis masukan dan keluaran
0,
0,
string.Kosong,
DataRowVersion.Default,
null) //Nilai parameter, diperlukan saat memasukkan parameter
);
command.commandtype=commandtype.StoredProcedure;
perintah.koneksi.buka();
perintah.executenonQuery();
int pkid=(int)command.Parameters["@para2"].value; //Dapatkan nilai parameter keluaran
perintah.koneksi.close();
Berikut adalah parameter keluaran referensi. Jika Anda ingin mereferensikan nilai kembalian (apakah data berhasil ditambahkan), Anda hanya perlu mengubah jenis ParamenterDirection menjadi nilai kembalian;