Jika kalian mendapatkan masalah seperti yang saya alami dan tidak kunjung dapat mengatasinya, mungkin error yang kalian dapatkan memiliki akar permasalah yang sama seperti saya, jadi tidak ada salahnya menggunakan cara yang sama untuk menyelesaikan permasalah di atas. Saat kamu mendapatkan permasalah "Error converting data type varchar to int.", coba di copy paste di search engine, pasti sangat banyak sekali orang yang mendapatkan permasalahan tersebut, tetapi karena berbeda akar permasalah, maka cara penyelesaiannya pun berbeda. Untuk kasus milik saya, cara penyelesaian untuk "Error converting data type varchar to int." ternyata sangat mudah dan simple.
"Error converting data type varchar to int."
Pertama pastikan bahwa kodingan kalian benar, artinya tidak tertukar antara varchar dengan int maupun sebaliknya, jika sudah benar, maka cek kembali sql di stored procedure milik anda. Berikut ini adalah stored procedure milik saya saat mendapatkan pesan error seperti di atas:
ALTER PROCEDURE [dbo].[SP_PesawatUpdate]
(
@id_pesawat int,
@nama_pesawat varchar (50),
@kode_pesawat varchar (10),
@jenis_pesawat varchar (10)
)
AS
BEGIN
SET NOCOUNT ON;
update pesawat set nama_pesawat = @nama_pesawat, kode_pesawat = @kode_pesawat, jenis_pesawat = @jenis_pesawat
where id_pesawat = @id_pesawat;
IF @@ERROR <> 0
RETURN (1)
ELSE
RETURN (0)
END
Sekarang coba kalian perhatikan, jika dilihan sepintas, tentu sudah benar stored procedure di atas, setelah beberapa waktu dan mencoba cara-cara yang saya dapatkan dari hasil googling, akhirnya saya coba untuk merubah baris integer seperti berikut:
ALTER PROCEDURE [dbo].[SP_PesawatUpdate]
(
@nama_pesawat varchar (50),
@kode_pesawat varchar (10),
@jenis_pesawat varchar (10),
@id_pesawat int (Perubahan)
)
AS
BEGIN
SET NOCOUNT ON;
update pesawat set nama_pesawat = @nama_pesawat, kode_pesawat = @kode_pesawat, jenis_pesawat = @jenis_pesawat
where id_pesawat = @id_pesawat;
IF @@ERROR <> 0
RETURN (1)
ELSE
RETURN (0)
END
Saya cukup memindah baris @id_pesawat int menjadi paling bawah dan akhirnya pesan "Error converting data type varchar to int." pun hilang dan dapat dapat dieksekusi dengan baik oleh system.