PDA

View Full Version : سوال: نوشتن یک کلاس در C#‎ برای کارکردن با Stored procedure در SQL



pesare
چهارشنبه 06 آذر 1392, 14:43 عصر
سلام دوستان

من میخوام توی C# یه کلاسی بنویسم که با هر Procedure که توی SQL مینویسم به راحتی کار کنه , چه این Procedure ورودی داشته باشه چه نداشته باشه فقط با این کلاس باهاش کار کنم

mahdi101
چهارشنبه 06 آذر 1392, 16:10 عصر
شما می تونید یک کلاس با کد های زیر داشته باشین:
SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=bank;Integrated Security=True");
public void docommand(string spname, SqlParameter[] p)
{

SqlCommand cmd = new SqlCommand(spname, con);
cmd.Parameters.AddRange(p);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
public DataTable select(string spname, SqlParameter[] p)
{
SqlDataAdapter da = new SqlDataAdapter(spname, con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddRange(p);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
حالا کافی هرجا نیاز دارین اول این کلاس رو فراخوانی و بعد آرایه ی P رو مقدار بدید :
SqlParameter[] p = new SqlParameter[0];
p[0] = new SqlParameter("@name", name);
name نام یک متغیر که تعریف کردم
name@ نام متغیری که در stordpro ایجاد کردین
و در انتها هم بیاند و نام storedpro را با صدازدن کلاس اولی بنویسید:
d.docommand("insert_customer", p);

fakhravari
چهارشنبه 06 آذر 1392, 16:12 عصر
Stored procedure
چیز خاصی نداره که!!
فقط یه نام sp باید بدین و پارامتر ها و تعیین خروجی.
شما باید چنتا Overhead Method طراحی کنید مثلا خروجی oject . خروجی datatable که میتونید با enum طراحی کنید