PDA

View Full Version : سوال: StoredProcedure



fakhravari
چهارشنبه 06 مهر 1390, 03:18 صبح
با سلام
دستور رو ببینید و بگوید مشکل از کجان
AddNews a = new AddNews();

a.Abstract = textBox1.Text;
a.Contents = textBox2.Text;
a.photoFilePath = textBox3.Text;
a.Title = textBox4.Text;

a.AddRecord();

public void AddRecord()
{
try
{
SqlConnection con = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=DatabaseCenter;Integrated Security=True");
SqlCommand cmd = new SqlCommand("News_Add", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();

cmd.Parameters.Add("@Title", SqlDbType.NVarChar).Value = this.Title;
cmd.Parameters.Add("@Abstract", SqlDbType.NVarChar).Value = this.Abstract;
cmd.Parameters.Add("@Contents", SqlDbType.NVarChar).Value = this.Contents;
cmd.Parameters.Add("@AddDate", SqlDbType.NVarChar).Value = this.AddDate;
cmd.Parameters.Add("@img", SqlDbType.NVarChar).Value = this.photoFilePath;
cmd.ExecuteNonQuery();
con.Close();
}
catch
{
lasteror = "اشکال در ثبت اطلاعات";
}
}

payman_xxp
چهارشنبه 06 مهر 1390, 08:36 صبح
سلام
کدی که در قسمت اول نوشتید دخلی برای AddRecord نداره، پس کلا اونو میذاریم کنار.
AddRecord برای مقدار دهی پارامترها مشخص نکردید از کدوم پراپرتی این عناوین استفاده میکنید، مثلا از کدوم پراپرتی this.Title دارید استفاده میکنید و یا با توجه به کد استورپروسیجرتون( که کدشو قرار ندادید)شاید لازم باشه به عدد یا استرینگ و... تبدیل بشه.

یه توصیه:
اگر از کلاسی برای حذف يا، اضافه و ویرایش اطلاعات استفاده میکنید،خیلی بهتر و اصولی تر هستش که پارامترها رو در ورودی قراربدید تا بتونید بدون محدودیت ازشون استفاده کنید.
موفق باشید.

fakhravari
چهارشنبه 06 مهر 1390, 10:39 صبح
با سلام
دوستان من از کلاس ستفاده میکنم و مشکلی ندارم با C# در WindowsForms
من از این کد در asp استفاده میکنم و مشکل ندارم.
فقط می خواستم برای ازمایش از StoredProcedure برای Insert . update ... استفاده کنم
ایجاد StoredProcedure که مشکلی ندارم.
فقط میمونه فراخانی که به صورت بالاست.
دوستان بگن طریقه استفاده از StoredProcedure در C# به چه شکل

ACorvinus
چهارشنبه 06 مهر 1390, 15:19 عصر
سلام.

روشی که نوشتین درسته ولی خب ممکنه خطا از هرچیزی باشه. چون کدهاتوت Safe نیستن.
میتونم بپرسم متن خطای شما چیه؟!

fakhravari
چهارشنبه 06 مهر 1390, 16:06 عصر
با سلام
ممنون از همه . کد ها درست بود . الان خروجی درسته.
ولی نظرم من هم با اقای payman_xxp == است
از کلاس برای WindowsForms خیلی بهتر .
برای web از StoredProcedure استفاده شه بهتر