Click here to Skip to main content
15,899,313 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
HI
I am getting an error with my code: Failed to convert parameter value from a ListItem to a String. with line: ExecuteNonQuery();

C#
protected void userinfo_UpdateCommand(object source, DataListCommandEventArgs e)
        {




            if (e.CommandName.Equals("update"))
            {
                //Change the way you are finding control here
                var FNEDTTXTBX = (TextBox)e.Item.FindControl("FNEDTTXTBX");
                var LNEDTTXTBX = (TextBox)e.Item.FindControl("LNEDTTXTBX");
                var PASSEDTTXTBX = (TextBox)e.Item.FindControl("PASSEDTTXTBX");
                var REPASEDTTXTBX = (TextBox)e.Item.FindControl("REPASEDTTXTBX");
                var EMAEDTTXTBX = (TextBox)e.Item.FindControl("EMAEDTTXTBX");
                var PSOTEDTTXTBX = (TextBox)e.Item.FindControl("PSOTEDTTXTBX");
                var regaddrstxtbx = (TextBox)e.Item.FindControl("regaddrstxtbx");
                var EDpersimgFileUpload1 = (FileUpload)e.Item.FindControl("EDpersimgFileUpload1");
                var EDcomplogo = (FileUpload)e.Item.FindControl("EDcomplogo");
                var REWEBSITETXTBX = (TextBox)e.Item.FindControl("REWEBSITETXTBX");


                SqlConnection upusrinfoDLCON = new SqlConnection(sc);
                SqlCommand upusrinfoDLcmd = new SqlCommand();
                upusrinfoDLcmd.Connection = upusrinfoDLCON;


                upusrinfoDLcmd.CommandText = "Update UserInfo set FN=@1, LN=@2, Password=@3, RePass=@4, Email=@5,Country=@6, State=@7,City=@8, Post=@9, Img=@12, Logo=@11,Address=@10,Website=@13 where ([UID] = @UID)";



                upusrinfoDLcmd.Parameters.Add("@1", SqlDbType.VarChar, 25).Value = FNEDTTXTBX.Text;
                upusrinfoDLcmd.Parameters.Add("@2", SqlDbType.VarChar, 25).Value = LNEDTTXTBX.Text;
                upusrinfoDLcmd.Parameters.Add("@3", SqlDbType.VarChar, 25).Value = PASSEDTTXTBX.Text;
                upusrinfoDLcmd.Parameters.Add("@4", SqlDbType.VarChar, 25).Value = REPASEDTTXTBX.Text;
                upusrinfoDLcmd.Parameters.Add("@5", SqlDbType.VarChar, 25).Value = EMAEDTTXTBX.Text;
                upusrinfoDLcmd.Parameters.Add("@6", SqlDbType.NVarChar, 50).Value = countrdrdolst.SelectedItem;
                upusrinfoDLcmd.Parameters.Add("@7", SqlDbType.VarChar, 25).Value = statedrdolst.SelectedItem;
                upusrinfoDLcmd.Parameters.Add("@8", SqlDbType.VarChar, 25).Value = citiesdrdolst.SelectedItem;
                upusrinfoDLcmd.Parameters.Add("@9", SqlDbType.Int).Value = PSOTEDTTXTBX.Text;
                //upusrinfoDLcmd.Parameters.Add("@10", SqlDbType.NVarChar, 40).Value = regaddrstxtbx.Text;
                upusrinfoDLcmd.Parameters.Add("@11", SqlDbType.NVarChar, -1).Value = EDcomplogo.FileName;
                upusrinfoDLcmd.Parameters.Add("@12", SqlDbType.NVarChar, -1).Value = EDpersimgFileUpload1.FileName;
                upusrinfoDLcmd.Parameters.Add("@13", SqlDbType.NVarChar, 30).Value = REWEBSITETXTBX.Text;





                upusrinfoDLCON.Open();
                upusrinfoDLcmd.ExecuteNonQuery();
                upusrinfoDLCON.Close();
                userinfo.EditItemIndex = -1;
            }
        }
Posted

1 solution

You have missed the last parameter @UID

and Change

SQL
upusrinfoDLcmd.Parameters.Add("@6", SqlDbType.NVarChar, 50).Value = countrdrdolst.SelectedItem;
               upusrinfoDLcmd.Parameters.Add("@7", SqlDbType.VarChar, 25).Value = statedrdolst.SelectedItem;
               upusrinfoDLcmd.Parameters.Add("@8", SqlDbType.VarChar, 25).Value = citiesdrdolst.SelectedItem;


to

SQL
upusrinfoDLcmd.Parameters.Add("@6", SqlDbType.NVarChar, 50).Value = countrdrdolst.SelectedItem.Text;
               upusrinfoDLcmd.Parameters.Add("@7", SqlDbType.VarChar, 25).Value = statedrdolst.SelectedItem.Text;
               upusrinfoDLcmd.Parameters.Add("@8", SqlDbType.VarChar, 25).Value = citiesdrdolst.SelectedItem.Text;
 
Share this answer
 
v2
Comments
Member 10690878 19-Jul-14 0:19am    
Hi @Hard_Rockz thanks for your reply but the UID is using a session and this column canot be updated, so how i can fix that
Dilan Shaminda 19-Jul-14 0:24am    
your query requires @UID parameter.why you cant pass your session value to that parameter?
Member 10690878 19-Jul-14 0:29am    
i dont know how in fact, and as i told you this is a primary key its not allowed to user to change it, i also delete the part of query in the update statment and its same nothing change still the message appear
Dilan Shaminda 19-Jul-14 0:32am    
ok what is the error message you are getting there? So now you don't have @UID parameter?
Dilan Shaminda 19-Jul-14 0:39am    
your error clearly says what is the problem.you are passing an list item directly to a parameter which accepts a string..I have updated my solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900