这是我用vs2005的做的程序,运行时老是报错:第 1 行: '=' 附近有语法错误。

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sq0=((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim();
string sq1=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
string sq2=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string sq3=((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string sq4=((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
string sq5=((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();
string sq6=((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim();
string sqlstr = "updata KYXM set XMMC='" + sq1 + "',XMBH='" + sq2 + "',JB='" + sq3 + "',XMLY='" + sq4 + "',YEAR='" + sq5 + "',FZR='" + sq6 + "' where ID='"+sq0+"'";
sqlcom.ExecuteNonQuery();
GridView1.EditIndex = -1;
bind();
}

先把string sq0=((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim();改成string sq0="123";把所有的都改过来运行一下看对不对,是不是SQL有问题。
如果没问题,再一个个把源代码写下,看哪一个出了问题,再做修改就行了。打断点也很直接的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-27
TextBox txtBox = GridView1.Rows[e.RowIndex].Cells[0].FindControl("你的那个文本框的ID") as TextBox;
string sq0 = txtBox.Text.Trim();
建议这样用,Cell本身就是一个Control,你用Control[0]很难控制到合适的控件上去。
第2个回答  2010-12-27
你可以先断点调试一下,然后执行到这个过程时,你截获这个SQL语句,然后到数据库中执行一下,我看是你的语句最后没有获取到值的原因
相似回答