PDA

View Full Version : سوال: نیاز به یک دستور



m_rafiei1362
پنج شنبه 03 تیر 1389, 14:50 عصر
من دو تا table دارم که وقتی تو table اولی داخل ستون تاریخ ، تاریخی را وارد می کنم بره و تو table دومی با تاریخ داخل ستون اون چک بشه و اگه بیشتر بود error بده

aghayex
جمعه 04 تیر 1389, 09:11 صبح
create Procedure Insert_date
int @date
as
if exists(select * from table2 where date<@date)
set @ErrorCode=1
else
begin
Insert Into table1(date) Values (@date)

set @ErrorCode=0

return @ErrorCode
end


حالا می مونه تو زبانی که می نویسی ( من به سی شارپ نوشتم ) این پارامتر رو با پارامتر date ( که تاریخ هست ) ارسال کنی بعد از اجرای sp اگه پارامترErrorCode بهت یک دارد خوب تاریخ شما بزرگتر از تاریخ جدول دوم هست و تاریخی ثبت نشده و اگه صفر داد مشکلی نبوده و تاریخ جدید ثبت شده




SqlConnection sqlcon = new SqlConnection("");
SqlCommand sqlcom = new SqlCommand();
sqlcom.Connection = sqlcon;
sqlcom.CommandText = "Insert_date";
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.AddWithValue("@date", textbox1.Text);
SqlParameter eror = new SqlParameter("@ErrorCode", SqlDbType.TinyInt);
eror.Direction = ParameterDirection.Output;
sqlcom.Parameters.Add(eror);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
if (Convert.ToInt32(sqlcom.Parameters["@ErrorCode"].Value) == 1)
{

"تاریخ وارد شده بزرگتر از تعیین شده می باشد"
}
else

{

"عملیات با موفقیت انجام شد"
}

m_rafiei1362
جمعه 04 تیر 1389, 09:37 صبح
دست شما درد نکنه خیلی عالی بود