使用我的datalise更新代码出错 [英] Getting an error with my datalise update code
本文介绍了使用我的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屋!
查看全文