必须声明标量变量"@Ad1";VS2005和ASP.net中存在错误

必须声明标量变量"@Ad1";VS2005和ASP.net中存在错误,.net,sqldatasource,.net,Sqldatasource,我使用的是ASP.net 3.5,出现了此错误 Must declare the scalar variable "@Ad1". 我做错了什么 我的提交按钮 我的SQLDatasource所在的ASPX页面-不过我有parramators。 如果此源是数据绑定的,请确保数据绑定控件(即GridView、ListView等)已设置其DataKeyNames属性。比如: GridView1.DataKeyNames = new string[]{"KeyFieldName"}; 编辑:如果所有其

我使用的是ASP.net 3.5,出现了此错误

Must declare the scalar variable "@Ad1".
我做错了什么

我的提交按钮

我的SQLDatasource所在的ASPX页面-不过我有parramators。


如果此源是数据绑定的,请确保数据绑定控件(即GridView、ListView等)已设置其DataKeyNames属性。比如:

GridView1.DataKeyNames = new string[]{"KeyFieldName"};
编辑:如果所有其他操作都失败,您可以手动添加参数:

Protected Sub btnUpdate_Click

    Try
        AddressSRC.UpdateParameters.Clear();
        AddressSRC.UpdateParameters.Add("Ad1",textPaddress1.Text);
        AddressSRC.UpdateParameters.Add("Ad2",textPaddress2.Text);
        AddressSRC.UpdateParameters.Add("AdID",textAddressID.Text);
        AddressSRC.Update()
        lblResult.Visible = True

    Catch ex As Exception

        lblResult.Visible = True
        lblResult.Text = ex.Message

    End Try

    LoadData()

End Sub

我觉得还可以。您能在update语句之前中断它并检查存在哪些参数吗?我看不出任何明显的错误,所以在其他地方这可能是一个愚蠢的错误。

唉……我很愚蠢


我想在我的页面加载事件上放置一个IF NOT ISPOSTBACK语句,因为当我单击Submit按钮时,我从DB重新加载了我的记录,它用旧记录更新了记录

数据源没有数据绑定到任何控件根据我的理解,您不能在SqlDataSource中设置断点吗?你不能在你的btnUpdate\u Click方法的开始处设置断点?我可以,但那会显示什么?我怎样才能看到通过SQLDataSource传递的是什么?说真的?!它将让您在刚开始执行之前查看UpdateParameters集合中的内容!
GridView1.DataKeyNames = new string[]{"KeyFieldName"};
Protected Sub btnUpdate_Click

    Try
        AddressSRC.UpdateParameters.Clear();
        AddressSRC.UpdateParameters.Add("Ad1",textPaddress1.Text);
        AddressSRC.UpdateParameters.Add("Ad2",textPaddress2.Text);
        AddressSRC.UpdateParameters.Add("AdID",textAddressID.Text);
        AddressSRC.Update()
        lblResult.Visible = True

    Catch ex As Exception

        lblResult.Visible = True
        lblResult.Text = ex.Message

    End Try

    LoadData()

End Sub