AmirAlimadadi
یک شنبه 02 تیر 1387, 09:58 صبح
باسلام
دوستان من می خواستم بدونم که یه stored procedure رو چطور می تونم در .net اجرا کنم، یعنی به جای کد sql چه چیزی باید بنویسم و چه طور به اون پارامتر پاس کنم، در ضمن آیا این روش برای تمامی پایگاه داده ها از جمله sql server و access یکسان است
باتشکر
gdevnb
یک شنبه 02 تیر 1387, 10:38 صبح
سلام
بدون پارامتر:
com.CommandText = _SPname;
com.CommandType = CommandType.StoredProcedure;
com.ExecuteNonQuery();
پارامتر:
SqlParameter[] sp = new SqlParameter[] {
new SqlParameter("@id", i),
new SqlParameter("@dis", "")
};
com.Parameters.AddRange(_sp);
در مورد سوال دومتون :تو کسس Sp نداریم ولی تو سیستم های دیگه مثل اوراکل فکر نمیکنم فرقی کنه.
araz_pashazadeh
شنبه 23 شهریور 1387, 23:44 عصر
اينم يه كد كامل
در C#
public bool AddDBC(string Name, string Serial, string Model, string Discription)
{
if (Name != "" && Model != "" && Discription != "")
{
SqlConnection Conn = new SqlConnection(TempCS);
//ëي¬¢ى êï ¬ي§ SqlConnection êي©§ ëâ© ىê©ںى Stroed Procedures §© ںïë ç«ê¢ ëںê
SqlCommand Comm = new SqlCommand("TA_Register_Add", Conn);
/*§© ںïë¤ں ى §ي ي©¢ êï ¢يںë پں©ںꢩ êي©§ ëâ© ©ں ںàںهى è©§§ ى© §ي ¥ï¥ ں«¢
* Comm.Parameters.Add("@Name", Name);
* */
Comm.Parameters.AddWithValue("@Name", Name);
Comm.Parameters.AddWithValue("@SerialNum", Serial);
Comm.Parameters.AddWithValue("@Model", Model);
Comm.Parameters.AddWithValue("@discription", Discription);
Comm.CommandType = CommandType.StoredProcedure;
Conn.Open();
Comm.ExecuteNonQuery();
Conn.Close();
// © گ©§ںë§ى êï ¬ي§ true ںگ© ںلéںمں¢ ں êيهçï¢ §©¤ گ©§§ êç§ں©
return true;
}
else
return false;
}
در SQL
ALTER PROCEDURE [dbo].[TA_Register_Add]
@Name nvarchar(128) ,
@SerialNum nvarchar(64),
@Model nvarchar(64),
@discription nvarchar(max)
AS
insert into TA_Register
(
[Name],
[SerialNum],
[Model],
[discription]
)
Values
(
@Name,
@SerialNum,
@Model,
@discription
)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.