PDA

View Full Version : SqlException



AliRezaPro
یک شنبه 12 مهر 1388, 00:33 صبح
سلام دوستان
من در برنامه ی کتابخونه ایی که دارم می نوسم قسمات ویرایش اطلاعات کاربر به یه اکسپشن عجیب بر خوردم

این کد رو نگاه کنید
private void UpdateDatabase()
{
using (SqlConnection connection = new SqlConnection(sstrConnection))
{
byte[] imageData = ReadFile(txtImagePath.Text);
SqlCommand com = new SqlCommand();
com.CommandType = CommandType.Text;
com.Connection = connection;
com.CommandText = "update RegisterUser set FirstName=@FirstName , LastName=@LastName , NameOfFather=@NameOfFather , Jensiat=@Jensiat , DateOfBurn=@DateOfBurn , shomareshenasname=@shomareshenasname , MojaradYamotahal=@MojaradYamotahal , TellNumber=@TellNumber , MObileNumber=@MObileNumber , shoghl=@shoghl , tahsilat=@tahsilat , tarikheozviat=@tarikheozviat , tozihat=@tozihat , address=@address , ImageOriginalPath=@ImageOriginalPath , ImageData=@ImageData ";
com.Parameters.Add("@FirstName", SqlDbType.NVarChar ,50).Value = txtNameRegisterUser.Text;
com.Parameters.Add("@LastName", SqlDbType.NVarChar ,50).Value = txtFamilyRegisterUser.Text;
com.Parameters.Add("@NameOfFather", SqlDbType.NVarChar ,50).Value = txtNameOfFatherRegisterUser.Text;
com.Parameters.Add("@Jensiat", SqlDbType.NChar, 5).Value = cboJensiatRegisterUser.SelectedItem;
com.Parameters.Add("@DateOfBurn", SqlDbType.NChar, 8).Value = txtDateOfBurnRegisterUser_Masked.Text;
com.Parameters.Add("@shomareshenasname", SqlDbType.NVarChar, 100).Value = txtShomareShenasnameRegisterUser.Text;
com.Parameters.Add("@MojaradYamotahal", SqlDbType.NChar, 20).Value = CboMojaradYaMotahalRegisterUser.SelectedItem;
com.Parameters.Add("@TellNumber", SqlDbType.NChar, 20).Value = txtTellNumber_Masked.Text;
com.Parameters.Add("@MObileNumber", SqlDbType.NChar, 20).Value = txtMobileNumber_Masked.Text;
com.Parameters.Add("@shoghl", SqlDbType.NChar, 30).Value = cboShoghlRegisterUser.SelectedItem;
com.Parameters.Add("@tahsilat", SqlDbType.NChar, 30).Value = cboTahsilatRegisterUser.SelectedItem;
com.Parameters.Add("@tarikheozviat", SqlDbType.NChar, 8).Value = txtTarikheOzviatregisterUser_Masked.Text;
com.Parameters.Add("@tozihat", SqlDbType.NVarChar, 250).Value = txtTozihatRegisterUser.Text;
com.Parameters.Add("@address", SqlDbType.NVarChar, 250).Value = txtAddressRegisterUser.Text;
com.Parameters.Add(new SqlParameter("@ImageOriginalPath", (object)txtImagePath.Text));
com.Parameters.Add(new SqlParameter("@ImageData", (object)imageData));
connection.Open();
com.ExecuteNonQuery();
connection.Close();
}
}
ببینید
من یه دیتاگرید دارم که که وقتی روی سطر هاش کلیک میشه اطالاعات تو تکست باکس ها میاد برای ویرایش
این تابع رو تو رویداد کلیک باتن گذاشتم
وقتی کار ویرایش تموم شد و کلیک میکنم این اکسپشن میاد
به این اکسپشن میگیره com.ExecuteNonQuery();

Parameterized Query '(@FirstName nvarchar(50),@LastName nvarchar(50),@NameOfFather nv' expects parameter @Jensiat, which was not supplied."
اساتید مشکل چیه؟

AliRezaPro
یک شنبه 12 مهر 1388, 21:24 عصر
کسی نیست کمک کنه؟

_jmimi
دوشنبه 13 مهر 1388, 02:34 صبح
سلام
اول اینکه خیلی خوب سوالتو مطرح کردی. یعنی نحوه مطرح کردن سوالت عالیه.
دوم اینکه به جای SelectedItem در کد زیر

cboJensiatRegisterUser.SelectedItem
از SelectedText استفاده کن.
چند خط بعد هم از این داری، برای اونم از SelectedText استفاده کن.