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
این روش هم جواب نداد