csharpcollegian
Member
سلام وقت همگی به خیر
فرض کنید پروسیجر زیر رو داریم :
حالا با هر دو روش زیر میشه داده ها رو به این پروسیجر پاس داد.
روش اول :
روش دوم :
من حدس میزنم که در روش اول تبدیل داده ها به روش ضمنی صورت میگیره و در روش دوم به صورت صریح. حالا من میخوام بدونم تفاوت این دو روش در چیه ؟
مزیت های روش دوم نسبت به روش اول چیه ؟
آیا روش اول در هیچ حالتی به مشکل نمی خوره ؟ آیا حالتی وجود داره که روش اول پاسخگو نباشه ؟
اگر هیچ تفاوتی ندارن پس چرا چنین سازنده ای برای SqlParameter گذاشتن که تووش بشه نوع رو به صورت صریح مشخص کرد ؟
خیلی ممنونم
فرض کنید پروسیجر زیر رو داریم :
PHP:
CREATE PROCEDURE procName
@ID int,
@Name nvarchar(50),
@Image varbinary(max),
@Admin bit
AS
BEGIN
.
.
.
END
GO
روش اول :
PHP:
.
.
.
SqlParameter idParam = new SqlParameter("@ID", id);
SqlParameter nameParam = new SqlParameter("@Name", name);
SqlParameter identificationCardParam = new SqlParameter("@Image", image);
SqlParameter adminParam = new SqlParameter("@Admin", admin);
.
.
.
PHP:
.
.
.
SqlParameter idParam = new SqlParameter("@ID", SqlDbType.Int);
idParam.Value = id;
SqlParameter nameParam = new SqlParameter("@Name", SqlDbType.NVarChar);
nameParam.Value = name;
SqlParameter imageParam = new SqlParameter("@Image", SqlDbType.VarBinary);
imageParam.Value = image;
SqlParameter adminParam = new SqlParameter("@Admin", SqlDbType.Bit);
adminParam.Value = admin;
.
.
.
مزیت های روش دوم نسبت به روش اول چیه ؟
آیا روش اول در هیچ حالتی به مشکل نمی خوره ؟ آیا حالتی وجود داره که روش اول پاسخگو نباشه ؟
اگر هیچ تفاوتی ندارن پس چرا چنین سازنده ای برای SqlParameter گذاشتن که تووش بشه نوع رو به صورت صریح مشخص کرد ؟
خیلی ممنونم