فشل في تحويل قيمة المعلمة من عنصر القائمة إلى سلسلة

StackOverflow https://stackoverflow.com/questions/1604535

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا أحاول لادخال قيم معينة في جدول باستخدام الخادم SQL 2005. ولقد استخدمت النص، والتسمية ومربع القائمة. ولكن قبل القيام بذلك، لدي خطأ تنص على "فشل في تحويل قيمة المعلمة من عنصر القائمة لسلسلة"

وكيف يمكنني حل هذا؟

try
        {
            //Create an insert command
            SqlCommand insertCmd = new SqlCommand("INSERT INTO Account(CustID, Name, TelExtension, Email, Password, AccountType, Status) VALUES " + "(@StaffID, @Name, @TelExtension, @Email, @Password, @StaffType, @Status); SELECT * FROM StaffAccount", sqlCon);

        //Add the parameters to the command
        insertCmd.Parameters.Add("@CustID", SqlDbType.VarChar, 20);
        insertCmd.Parameters.Add("@Name", SqlDbType.VarChar, 50);
        insertCmd.Parameters.Add("@TelExtension", SqlDbType.NChar, 20);
        insertCmd.Parameters.Add("@Email", SqlDbType.VarChar, 50);
        insertCmd.Parameters.Add("@Password", SqlDbType.VarChar, 25);
        insertCmd.Parameters.Add("@AccountType", SqlDbType.VarChar, 2);
        insertCmd.Parameters.Add("@Status", SqlDbType.VarChar, 1);

        //Set the parameters
        insertCmd.Parameters["@CustID"].Value = StaffID_txt.Text;
        insertCmd.Parameters["@Name"].Value = Name_txt.Text;
        insertCmd.Parameters["@TelExtension"].Value = telExtension_txt.Text;
        insertCmd.Parameters["@Email"].Value = email_txt.Text;
        insertCmd.Parameters["@Password"].Value = password_txt.Text;
        insertCmd.Parameters["@AccountType"].Value = StaffType_LB.SelectedItem;
        insertCmd.Parameters["@Status"].Value = status_lblvalue.Text;
هل كانت مفيدة؟

المحلول

تغيير

insertCmd.Parameters["@AccountType"].Value = StaffType_LB.SelectedItem;

إلى

insertCmd.Parameters["@AccountType"].Value = StaffType_LB.SelectedItem.Text;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top