50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

ارسال پارامتر به Stored Procedure در c#

با سلام ، یه Stored Procedure توی SQL وظیفه چک کردن یوزر و پسورد را داره که User از نوع nvarchar 20 و Password از نوع 80 varbinary می باشد توی sql در صورت وارد کردن صحیح مقادیر اطلاعات یوزر نمایش داده می شود ولی با #C در صورت ارسال مقادیر خطا میده اگه دوستان در مورد روش صحیح ارسال مقادیر از طریق TextBox به Stored Procedure توضیح بدن ممنون میشم

پرسیده شده در 1394/03/10 توسط

4 پاسخ

0

من از این روش استفاده کردم ولی از نوع varbinary خطا میده

Failed to convert parameter value from a String to a Byte[]. برای فیلد password خطا میده

پاسخ در 1394/03/10 توسط
1

از روش زیر برای تبدیل پسورد استفاده کنید

public static byte[] StrToByteArray(string strValue)
{
        System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
        return encoding.GetBytes(strValue);
}

//then in your method where you have your codes pass the value of the TextBox to the method
//that would convert the string to binary like below

byte[] newByte = StrToByteArray(txtPassword.Text);
sqlCom.Parameters.Add("@Password", SqlDbType.VarBinary).Value = newByte;
پاسخ در 1394/03/10 توسط
1

سلام دوست عزیز

قطعه کد زیر نحوه ارسال پارامتر و اجرای stored procedure رو به صورت کامل نشون میده. اگه مشکل حل نشد خود خطایی رو که میگیره رو بذار.

private void button1_Click(object sender, EventArgs e) {
  using (SqlConnection con = new SqlConnection(dc.Con)) {
    using (SqlCommand cmd = new SqlCommand("sp_Add_contact", con)) {
      cmd.CommandType = CommandType.StoredProcedure;

      cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
      cmd.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;

      con.Open();
      cmd.ExecuteNonQuery();
    }
  }
}
پاسخ در 1394/03/10 توسط
0

این روش هم جواب نداد

پاسخ در 1394/03/12 توسط

پاسخ شما