以下C#代码转为VB代码出错..
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            StringBuilder query = new StringBuilder();
            GridViewRow row = GridView1.Rows[i];
            string ID = ((TextBox)row.Cells[0].FindControl("txtID")).Text.Replace("'", "");
            string Name = ((TextBox)row.Cells[0].FindControl("txtRealName")).Text.Replace("'", "");
            string Sex = ((DropDownList)row.Cells[0].FindControl("ddlSex")).SelectedValue;
            string Address = ((TextBox)row.Cells[0].FindControl("txtAddress")).Text.Replace("'", "");
            query.Append("update Employee set ID='" + ID + "',Name='" + Name + "',Sex='" + Sex + "',Address='" + Address + "' where ID=" + GridView1.DataKeys[i].Value + "");
            Common.ExecuteSql(query.ToString());
            Response.Write(GridView1.DataKeys[i].Value);
        }转换成        For i As Integer = 0 To GridView1.Rows.Count - 1
            Dim query As New StringBuilder()
            Dim row As GridViewRow = GridView1.Rows(i)
            Dim ID As Integer = DirectCast(row.Cells(0).FindControl("txtID"), TextBox).Text.Replace("'", "")
            Dim Name As String = DirectCast(row.Cells(0).FindControl("txtRealName"), TextBox).Text.Replace("'", "")
            Dim Sex As String = DirectCast(row.Cells(0).FindControl("ddlSex"), DropDownList).SelectedValue
            Dim Address As String = DirectCast(row.Cells(0).FindControl("txtAddress"), TextBox).Text.Replace("'", "")
            query.Append((((("update Employee set ID='" & ID & "',Name='") + Name & "',Sex='") + Sex & "',Address='") + Address & "' where ID=") + GridView1.DataKeys(i).Value + "")
            Common.ExecuteSql(query.ToString())
            Response.Write(GridView1.DataKeys(i).Value)
        Next转换后vb.net提示“输入字符串的格式不正确”,估计是“ID=") + GridView1.DataKeys(i).Value + "")”这个出错了,因为把它删了就可以,请大家帮帮忙

解决方案 »

  1.   

    这样写参数多的话很容易写错的..
    我一般用这种方法StringBuilder query = New StringBuilder();query.Append(string.format("update Employee set ID={0},Name='{1}',Sex='{2}',Address='{3}' where ID={4}",ID,Name,Sex,Address,GridView1.DataKeys(i).Value );
    不知道VB是咋整的..
      

  2.   

    TRY        For i As Integer = 0 To GridView1.Rows.Count - 1
                Dim query As New StringBuilder()
                Dim row As GridViewRow = GridView1.Rows(i)
                Dim ID As String = DirectCast(row.Cells(0).FindControl("txtID"), TextBox).Text.Replace("'", "")
                Dim Name As String = DirectCast(row.Cells(0).FindControl("txtRealName"), TextBox).Text.Replace("'", "")
                Dim Sex As String = DirectCast(row.Cells(0).FindControl("ddlSex"), DropDownList).SelectedValue
                Dim Address As String = DirectCast(row.Cells(0).FindControl("txtAddress"), TextBox).Text.Replace("'", "")
                query.Append("update Employee set ID='" & ID & "',Name='" & Name & "',Sex='" & Sex & "',Address='" & Address & "' where ID=" & GridView1.DataKeys(i).Value & "")
                Response.Write(GridView1.DataKeys(i).Value)
      

  3.   


    dim query As New StringBuilder()
    query.AppendFormat("update Employee set ID={0},Name='{1}',Sex='{2}',Address='{3}' where ID={4}",ID,Name,Sex,Address,GridView1.DataKeys(i).Value)