PDA

View Full Version : مبتدی: مشکل این procedure در سی شارپ چیست



Sky_line
سه شنبه 17 اسفند 1395, 22:13 عصر
سلام.
من می خوام که با استفاده از procedure تعریف شده در Sql server مقادری رو به پایگاه داده وارد کنم اما نمی دونم که چرا کار نمی کنه.

خوشحال می شم اگه راهنمایی کنید.

SqlCommand cmd = new SqlCommand("exec new_employee @fn,@ln,@age,@gender,@job,@salary,@SC,@pn,@ea,@ha");
cmd.CommandType = CommandType.StoredProcedure;


cmd.Parameters.AddWithValue("@fn", txtfn.Text);
cmd.Parameters.AddWithValue("@ln", txtln.Text);
cmd.Parameters.AddWithValue("@age", cmbage.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@gender", cmbgender.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@job", txtjob.Text);
cmd.Parameters.AddWithValue("@salary", txtsalary.Text);
cmd.Parameters.AddWithValue("@sc", lblscode.Text);
cmd.Parameters.AddWithValue("@pn", txtpn.Text);
cmd.Parameters.AddWithValue("@ea", txtea.Text);
cmd.Parameters.AddWithValue("@ha", txtha.Text);


try
{
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("One record added.");
con.Close();


}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

ebrahim.rayatparvar
چهارشنبه 18 اسفند 1395, 09:44 صبح
توی sqlcommand وقتی میگی commandtype رو از نوع پروسیجیر میگیری دیگه نباید پارامتر قبلش بفرسیتی باید فقط اسم پروسیجر رو بدی پارامترها همون پایین داری ارسال میکنی.

برای مثال کد زیر رو ببین :


SqlCommand cmd = new SqlCommand("ProcedureName", _con.Conn)
{
CommandType = CommandType.StoredProcedure
};
cmd.Parameters.AddWithValue("@Kind", 1);
cmd.Parameters.AddWithValue("@DateStart", DateStart ?? (object)DBNull.Value);