0
ارسال پارامتر به Stored Procedure در c#
با سلام ، یه Stored Procedure توی SQL وظیفه چک کردن یوزر و پسورد را داره که User از نوع nvarchar 20 و Password از نوع 80 varbinary می باشد توی sql در صورت وارد کردن صحیح مقادیر اطلاعات یوزر نمایش داده می شود ولی با #C در صورت ارسال مقادیر خطا میده اگه دوستان در مورد روش صحیح ارسال مقادیر از طریق TextBox به Stored Procedure توضیح بدن ممنون میشم
4 پاسخ
0
من از این روش استفاده کردم ولی از نوع varbinary خطا میده
Failed to convert parameter value from a String to a Byte[]. برای فیلد password خطا میده
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;
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();
}
}
}
0
این روش هم جواب نداد