null قرار دادن مقدار wrapper ها در دیتابیس

ارسال پست
sajadMathShah
پست: 13
تاریخ عضویت: پنج شنبه 2 مرداد 1399, 6:21 am

null قرار دادن مقدار wrapper ها در دیتابیس

پست توسط sajadMathShah » شنبه 25 مرداد 1399, 12:15 am

با عرض سلام و خسته نباشید خدمت استاد عزیزم ، استاد بهادر ، از اینکه این فرصت را در اختیار ما قرار میدید و خودتون شخصا به سوال ها پاسخ میدهید ، بسیار از شما متشکرم .
سوال بنده :
استاد گرامی ، وقتی متغیری رو از جنس Long تعریف میکنیم و میخواهیم مقدار آن در دیتابیس null باشد و وقتی آن را retrieve کردیم باز هم null به ما برگردانده شود چه باید بکنیم ؟؟ با استفاده از متد setLong که اگر null پاس کنیم ، اکسپشن میدهد ، اگر با یکی از دو روش (setNull(index , Type.BigInt یا (setObject(index,null هم مقدار آن را در دیتابیس null قرار دهیم ، موقع دریافت باز هم مقدار 0 برگردانده میشود نه null
چطوری این مقدارwrapper را در دیتا بیس قرار دهیم که هم در دیتابیس null باشد ، هم وقتی که آن را دریافت میکنیم ، به ما null برگردانده شود؟؟


باز هم کمال تشکر رو دارم از استاد بزرگم ، استاد بهادر عزیز

java2
مدیر کل سایت
پست: 178
تاریخ عضویت: پنج شنبه 13 دی 1397, 6:49 pm

Re: null قرار دادن مقدار wrapper ها در دیتابیس

پست توسط java2 » دو شنبه 27 مرداد 1399, 12:18 am

با سلام، برای پیدا کردن null در فیلد بطور مثال AGE در بانک اطلاعاتی از دستور SQL زیر استفاده کنید

select * from person where age is null

حال برای درج NULL در فیلد نوع NUMBER از طریق JDBC

کد: انتخاب همه

        Person person = new Person();
        person.setId(2);
        person.setName("Bahador");
        preparedStatement.setObject(1, person.getId());
        preparedStatement.setString(2, person.getName());
        preparedStatement.setObject(3,person.getAge());
و برای دریافت آن از

کد: انتخاب همه

resultSet.getObject("age");
استفاده کنید. دقت کنید در این حالت باید جنس age از نوع کلاس Long باشد.

ارسال پست