e_ghadimi
پنج شنبه 17 دی 1388, 19:21 عصر
سلام
من یک storedProcedure دارم که توی اون می خوام با دادن Id یک کارمند نام و نام خانوادگی شخص به عنوان خروجی برگردونده بشه که اینطوری نوشتمش :
USE [Northwind]
GO
createproc [dbo].[sp_person]
@Id int,
@LName nvarchar(20)output,
@FName nvarchar(25)output
as
select @LName=LastName,@FName=FirstName from Employees where EmployeeID=@Id
وکدی که توی برنامم برای گرفتن خروجی از این رویه نوشتم هم به صورت زیره ولی این کد جواب نمی ده می خواستم ببینم مشکل از کد یا رویه ذخیره شده ؟
SqlConnection cn = newSqlConnection("SERVER=LocalHost;DATABASE=Northwind;Integrated Security=True;");
SqlCommand cm = newSqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "sp_person";
cm.Parameters.Add("Id", SqlDbType.Int);
cm.Parameters.Add("FName", SqlDbType.NVarChar, 20);
cm.Parameters["FName"].Direction = ParameterDirection.Output;
cm.Parameters.Add("LName", SqlDbType.NVarChar, 25);
cm.Parameters["LName"].Direction = ParameterDirection.Output;
cm.Parameters["Id"].Value = int.Parse(textBox1.Text);
cn.Open();
SqlDataReader dr ;
dr = cm.ExecuteReader();
while (dr.Read())
{
if (dr[0] != DBNull.Value)
{
textBox2.Text = dr.GetString(0);
}
if (dr[1] != DBNull.Value)
{
textBox3.Text = dr.GetString(1);
}
}
dr.Close();
cn.Close();
}
من یک storedProcedure دارم که توی اون می خوام با دادن Id یک کارمند نام و نام خانوادگی شخص به عنوان خروجی برگردونده بشه که اینطوری نوشتمش :
USE [Northwind]
GO
createproc [dbo].[sp_person]
@Id int,
@LName nvarchar(20)output,
@FName nvarchar(25)output
as
select @LName=LastName,@FName=FirstName from Employees where EmployeeID=@Id
وکدی که توی برنامم برای گرفتن خروجی از این رویه نوشتم هم به صورت زیره ولی این کد جواب نمی ده می خواستم ببینم مشکل از کد یا رویه ذخیره شده ؟
SqlConnection cn = newSqlConnection("SERVER=LocalHost;DATABASE=Northwind;Integrated Security=True;");
SqlCommand cm = newSqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "sp_person";
cm.Parameters.Add("Id", SqlDbType.Int);
cm.Parameters.Add("FName", SqlDbType.NVarChar, 20);
cm.Parameters["FName"].Direction = ParameterDirection.Output;
cm.Parameters.Add("LName", SqlDbType.NVarChar, 25);
cm.Parameters["LName"].Direction = ParameterDirection.Output;
cm.Parameters["Id"].Value = int.Parse(textBox1.Text);
cn.Open();
SqlDataReader dr ;
dr = cm.ExecuteReader();
while (dr.Read())
{
if (dr[0] != DBNull.Value)
{
textBox2.Text = dr.GetString(0);
}
if (dr[1] != DBNull.Value)
{
textBox3.Text = dr.GetString(1);
}
}
dr.Close();
cn.Close();
}