我有兩個按鈕,SetIn和SetOut。他們都有commandName UPDATE(我有兩個按鈕,因爲我希望文本在按鈕上有所不同,具體取決於行中的一個字段的值。)帶有時間戳更新的gridviewUpdating asp.net錯誤
我遇到了問題,因爲當我運行更新SQL語句,它在我拋出一個錯誤它說:
類型「System.Data.SqlClient.SqlException」的異常出現在System.Data.dll中,但在用戶代碼中沒有處理
附加信息:「14」附近的語法錯誤
這意味着我試圖更新行的日期和時間戳的問題(我在14.02pm進行更新)。
我的aspx.cs頁面代碼是:
protected void GridView1_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
{
Label id = GridView1.Rows[e.RowIndex].FindControl("lbl_Index") as Label;
int rowToUpdate = Int32.Parse(id.Text);
con = new SqlConnection(cs);
int scopeValue;
con = new SqlConnection(cs);
cmd = new SqlCommand();
cmd.CommandText = "SELECT in_scope FROM " + databaseName + " WHERE id = '" + rowToUpdate + "'";
cmd.Parameters.AddWithValue("@id", rowToUpdate);
cmd.Connection = con;
try
{
con.Open();
scopeValue = Convert.ToInt32(cmd.ExecuteScalar());
//database_entries.Text = recordCount.ToString();
}
finally
{
con.Close();
}
string modifiedBy = userManagement.getWeldID();
string updateDate = DateTime.UtcNow.ToString("dd/MMM/yyyy HH:mm:ss");
{
if (scopeValue == 1)
{
// Label id = GridView1.Rows[e.RowIndex].FindControl("lbl_Index") as Label;
string sqlStatement = "";
con = new SqlConnection(cs);
// SqlCommand cmd = new SqlCommand();
sqlStatement = @"update dbo.Fair_Use_InScope_MIF_Alex_temp set in_scope = '0', modified_by = " + modifiedBy + ", date_updated = " + updateDate + " where id = '" + rowToUpdate + "'";
con.Open();
cmd = new SqlCommand(sqlStatement, con);
cmd.ExecuteNonQuery();
con.Close();
ShowData();
}
if (scopeValue == 0)
{
// Label id = GridView1.Rows[e.RowIndex].FindControl("lbl_Index") as Label;
string sqlStatement = "";
con = new SqlConnection(cs);
// SqlCommand cmd = new SqlCommand();
sqlStatement = @"update dbo.Fair_Use_InScope_MIF_Alex_temp set in_scope = '1', modified_by = " + modifiedBy + ", date_updated = " + updateDate + " where id = '" + rowToUpdate + "'";
con.Open();
cmd = new SqlCommand(sqlStatement, con);
cmd.ExecuteNonQuery();
con.Close();
ShowData();
}
}
}
基本上,我試圖讓scopeValue(0或1)行的,如果更新調用的命令,並scopeValue以前0,現在設置爲1,反之亦然。我還需要更新更改的時間以及在該行進行更改的人員。 (這些都顯示在gridview)
任何幫助將不勝感激,因爲我是初學ASP.NET和C#和SQL SERVER!
感謝您的幫助!我不再收到錯誤信息!我可以問爲什麼rowtoupdate的價值是35?謝謝! – akb29
在我的示例中,它是一個編號,用於顯示3種不同的數據類型。你可以把它改成'rowToUpdate' – VDWWD
非常感謝你!這已經解決了我的問題 - gridview像預期的那樣更新,一切都成爲魅力 - 救星! – akb29