我是一名新手程序员(c#)而且我卡住了。我不知道为什么编译器没有看到来自另一个void的变量。大约一个星期前,在另一个程序中它工作,现在不想。我正在寻找类似的问题,但我还没有找到。
public void Gridcommandevent(object sender, GridViewCommandEventArgs ev)
{
int index;
if (ev.CommandName == "Update")
{
index = Convert.ToInt32(ev.CommandArgument);
}
}
protected void GridView3_RowCommand(object sender, GridViewUpdateEventArgs e)
{
String strConnString = ConfigurationManager.ConnectionStrings["DGCodLocConnection"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
con.Open();
SqlCommand cmd = new SqlCommand("UPDATE Parts SET [LastModified] = '" + Permit + "' WHERE PartsID = '" + index + "'", con);
cmd.ExecuteNonQuery();
con.Close();
}
我希望index
变量到SqlCommand
对象。
这似乎不能正常应用:(我的意思是,变量'索引'现在很好,但代码只是破了。
答案 0 :(得分:2)
在虚空之外声明您的变量,以便您可以从所有成员访问它。 只有Gridcommandevent
才能看到它。
int index;
public void Gridcommandevent(object sender, GridViewCommandEventArgs ev)
{
if (ev.CommandName == "Update")
{
index = Convert.ToInt32(ev.CommandArgument);
}
}
protected void GridView3_RowCommand(object sender, GridViewUpdateEventArgs e)
{
String strConnString = ConfigurationManager.ConnectionStrings["DGCodLocConnection"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
con.Open();
SqlCommand cmd = new SqlCommand("UPDATE Parts SET [LastModified] = '" + Permit + "' WHERE PartsID = '" + index + "'", con);
cmd.ExecuteNonQuery();
con.Close();
}
根据Andreas Niedermair
建议,并且由于您说您是新手程序员,因此您应该看看 MSDN Article 。