使用我的datalise更新代码出错 [英] Getting an error with my datalise update code

查看:79
本文介绍了使用我的datalise更新代码出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI

我的代码出错:无法将参数值从ListItem转换为String。 with line:ExecuteNonQuery();



  protected   void  userinfo_UpdateCommand( object  source,DataListCommandEventArgs e)
{




if (e.CommandName.Equals( 更新))
{
// 更改你在这里找到控制的方式
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 = 更新UserInfo设置FN = @ 1,LN = @ 2,密码= @ 3,RePass = @ 4,电子邮件= @ 5,国家/地区= @ 6,州= @ 7,城市= @ 8,邮政= @ 9,Img = @ 12,徽标= @ 11,地址= @ 10,网站= @ 13其中([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;
}
}

解决方案

您错过了最后一个参数 @UID



和更改



 upusrinfoDLcmd.Parameters 。添加  @ 6, SqlDbType。 NVarChar  50 )。Value = countrdrdolst.SelectedItem; 
upusrinfoDLcmd.Parameters。添加 @ 7,SqlDbType。 VarChar 25 )。Value = statedrdolst.SelectedItem;
upusrinfoDLcmd.Parameters。添加 @ 8,SqlDbType。 VarChar 25 )。Value = citiesdrdolst.SelectedItem;





to



 upusrinfoDLcmd.Parameters。 添加  @ 6,SqlDbType 。 NVarChar  50 )。Value = countrdrdolst.SelectedItem。文本; 
upusrinfoDLcmd.Parameters。添加 @ 7,SqlDbType。 VarChar 25 )。Value = statedrdolst.SelectedItem。文本;
upusrinfoDLcmd.Parameters。添加 @ 8,SqlDbType。 VarChar 25 )。Value = citiesdrdolst.SelectedItem。文本;


HI
I am getting an error with my code: Failed to convert parameter value from a ListItem to a String. with line: ExecuteNonQuery();

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;
            }
        }

解决方案

You have missed the last parameter @UID

and Change

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

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;


这篇关于使用我的datalise更新代码出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆