PDA

View Full Version : سوال: Stored Procedure < SQL



fakhravari
پنج شنبه 31 شهریور 1390, 22:14 عصر
با سلام
عکس ببینید .
ایا میشه مثال یک Procedure تعریف کرد مثل کلاس که بشه add/ update / delete .....تعریف کرد.
چون من هر دستور یک Procedure درست میکنم.
واگر میشه چه طور در برنامه فراخوانی میشود.

TeacherMath
پنج شنبه 31 شهریور 1390, 22:36 عصر
با سلام اگه به تصویر زیر نگاه کنید که مال asp.net هست می تونید ببینید که اونا هم همین کار رو کردن .من شما رو درک می کنم اگه تنهایی دارین این کار را انجام می دین.
75629
اما توجه کنید که با یک تحلیل مناسب به این نتیجه می رسیدکه خیلی از این پروسیجر ها اضافه اند.

محمد متاله
جمعه 01 مهر 1390, 22:04 عصر
بنده یکسالی هست دیگه از Stored Procedure استفاده نمی کنم از LINQ استفاده می کنم
خیلی خیلی ساده و راحته سرعت ساخت پروژه هم چند برابر می شه ولی در کل برای اینکه دستورات ذخیره شده تان و یا StoredProcedure ها را صدا بزنید مانند کد زیر

public DataTable selectAll()
{
SqlDataAdapter da = new SqlDataAdapter("groupSelectAll", new SqlConnection(webSettings.con));
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
da.Fill(dt);

return dt;
}

نوع command type را از نوع Stored Procedure قرار دهید

و یا به عنوان نمونه از برنامه های یک سال پیشم برای Insert کردن stored procedure ام را این طور صدا می زدم

public int insert(string path, string alternateText, string floatText, DateTime dateCreate, DateTime dateEdit, int idGroup, bool visibility)
{
SqlCommand cmd = new SqlCommand("pictureInsert", new SqlConnection(webSettings.con));
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@partID", ddlGroup.SelectedValue), new SqlParameter("@alternateText", txtAlternate.Text), new SqlParameter("@path", path), new SqlParameter("@isVisible", chkVisibility.Checked) });

cmd.Parameters.AddWithValue("@path", path);
cmd.Parameters.AddWithValue("@alternateText", alternateText);
cmd.Parameters.AddWithValue("@floatText", floatText);
cmd.Parameters.AddWithValue("@dateCreate", dateCreate);
cmd.Parameters.AddWithValue("@dateEdit", dateEdit);
cmd.Parameters.AddWithValue("IDGroup", idGroup);
cmd.Parameters.AddWithValue("@visibility", visibility);

cmd.Connection.Open();
cmd.ExecuteNonQuery();

cmd.CommandText = "SELECT @@IDENTITY";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Clear();

int id = Convert.ToInt32(cmd.ExecuteScalar());
cmd.Connection.Close();

return id;
}

باز هم تاکید می کنم LINQ را اگه یاد بگیرید پشیمان نمی شوید