我在用DATAGRID实现数据更新的出现了问题,一刷新页面就说当“前页的脚本发生错误”,行45,51,57缺少')',但我检查过相应的行,没有问题啊,请高手帮忙解决下。代码如下:
using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.Data.SqlClient; 
using System.Drawing; 
using System.Web; 
using System.Web.SessionState; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.HtmlControls; namespace cry 

/// <summary> 
/// WebForm5 的摘要说明。 
/// </summary> 
public class WebForm5 : System.Web.UI.Page 

protected System.Web.UI.WebControls.TextBox TextBox1; 
protected System.Web.UI.WebControls.TextBox TextBox2; 
protected System.Web.UI.WebControls.Button Button1; 
protected System.Web.UI.WebControls.DataGrid DataGrid1;  private void Page_Load(object sender, System.EventArgs e) 

// 在此处放置用户代码以初始化页面 
if(!IsPostBack) 

SetBind(); 

}  protected void SetBind() 
{ /*
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn); 
DataSet ds=new DataSet(); 
da.Fill(ds,"table1"); 
this.DataGrid1.DataSource=ds.Tables["table1"]; 
this.DataGrid1.DataBind(); */ string sql ="Select * FROM tb1;";
string connString = "server=localhost;database=5;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds=new DataSet(); 
da.Fill(ds,"tb1"); 
DataGrid1.DataSource=ds.Tables["tb1"]; 
DataGrid1.DataBind(); }  #region Web 窗体设计器生成的代码 
override protected void OnInit(EventArgs e) 

// 
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 
// 
InitializeComponent(); 
base.OnInit(e); 
}  /// <summary> 
/// 设计器支持所需的方法 - 不要使用代码编辑器修改 
/// 此方法的内容。 
/// </summary> 
private void InitializeComponent() 

this.Button1.Click += new System.EventHandler(this.Button1_Click); 
this.DataGrid1.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemCreated); 
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand); 
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged); 
this.Load += new System.EventHandler(this.Page_Load);  } 
#endregion  private void Button1_Click(object sender, System.EventArgs e) 

// SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
string connString = "server=localhost;database=5;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(connString);
SqlCommand comm=new SqlCommand("insert into tb1 (vName,iAge) values (@vName,@iAge)",conn); 
SqlParameter parm1=new SqlParameter("@vName",SqlDbType.NVarChar,50); 
parm1.Value=this.TextBox1.Text; 
SqlParameter parm2=new SqlParameter("@iAge",SqlDbType.Int); 
parm2.Value=this.TextBox2.Text; 
comm.Parameters.Add(parm1); 
comm.Parameters.Add(parm2); 
conn.Open(); 
comm.ExecuteNonQuery(); 
conn.Close(); 
SetBind(); 
}  private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 

if(e.CommandName=="del") 

// SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
string connString = "server=localhost;database=5;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(connString);
SqlCommand comm=new SqlCommand("delete from tb1 where ID=@id",conn); 
SqlParameter parm1=new SqlParameter("@id",SqlDbType.Int); 
parm1.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex]; 
comm.Parameters.Add(parm1); 
conn.Open(); 
comm.ExecuteNonQuery(); 
conn.Close(); 
SetBind(); 

}  private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) 

this.DataGrid1.CurrentPageIndex=e.NewPageIndex; 
SetBind(); 
}  protected void edit(object sender,DataGridCommandEventArgs e) 

this.DataGrid1.EditItemIndex=e.Item.ItemIndex; 
SetBind(); 
}  protected void cancel(object sender,DataGridCommandEventArgs e) 

this.DataGrid1.EditItemIndex=-1; 
SetBind(); 
}  protected void update(object sender,DataGridCommandEventArgs e) 

//SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
string connString = "server=localhost;database=5;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(connString);
SqlCommand comm=new SqlCommand("update tb1 set vName=@vName,iAge=@iAge where ID=@id",conn); 
SqlParameter parm1=new SqlParameter("@vName",SqlDbType.NVarChar,50); 
parm1.Value=((TextBox)e.Item.FindControl("name")).Text; 
SqlParameter parm2=new SqlParameter("@iAge",SqlDbType.Int); 
parm2.Value=((TextBox)e.Item.FindControl("age")).Text; 
SqlParameter parm3=new SqlParameter("@id",SqlDbType.Int); 
parm3.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex]; 
comm.Parameters.Add(parm1); 
comm.Parameters.Add(parm2); 
comm.Parameters.Add(parm3); 
conn.Open(); 
comm.ExecuteNonQuery(); 
conn.Close(); 
this.DataGrid1.EditItemIndex=-1; 
SetBind(); 
}  private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) 

foreach(DataGridItem di in this.DataGrid1.Items) 

if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem) 

((LinkButton)di.Cells[3].Controls[0]).Attributes.Add("onclick","return confirm(''delete?'');");