Необходимо объявить скалярную переменную для "roleid"
Этот roleid вызывается из таблицы базы данных, имеющей поля RoleID, RoleName, ModifiedBY, ModifiedDate
В котором все поля вызываются, но получают ошибку в строке RoleID в инструкции update asp.net проект. Я поделюсь с вами кодом пожалуйста помогите мне
Что я уже пробовал:
// Getting RowIndex of GridView //GridViewRow gvRow = (GridViewRow)(sender as Control).Parent.Parent; int index = row.RowIndex; Guid roleId = (Guid)(gvRoleListDispaly.DataKeys[index].Value); con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); con.Open(); // Command Statement SqlCommand cmd1 = new SqlCommand("select RoleID from Security_Roles where RoleID=@RoleID", con); // RoleID cmd1.Parameters.Add("@RoleID", SqlDbType.UniqueIdentifier); cmd1.Parameters["@RoleID"].Value = new Guid(roleId.ToString()); sdr = cmd1.ExecuteReader(); while (sdr.Read()) { if (sdr["RoleID"].ToString() == roleId.ToString()) { sdr.Close(); // Update Command using (cmd = new SqlCommand("UPDATE Security_Roles SET RoleName=@RoleName, RoleID=@RoleID, ModifiedBy=@ModifiedBy, ModifiedOn=@ModifiedOn where RoleID=@RoleID", con)) { // RoleName cmd.Parameters.Add("@RoleName", SqlDbType.VarChar, 50); cmd.Parameters["@RoleName"].Value = roleName; // RoleID cmd1.Parameters.Add("@RoleID", SqlDbType.UniqueIdentifier); cmd1.Parameters["@RoleID"].Value = new Guid(roleId.ToString()); // ModifiedBy // If the value of UserID is Null then ModifiedBy value will be Null // Otherwise ModifiedBy field value will be User who creates it. string modifiedBy = userID == Guid.Empty ? null : userID.ToString(); cmd.Parameters.Add("@ModifiedBy", SqlDbType.UniqueIdentifier); cmd.Parameters["@ModifiedBy"].Value = new Guid(modifiedBy.ToString()); // ModifiedOn cmd.Parameters.Add("@ModifiedOn", SqlDbType.DateTime); cmd.Parameters["@ModifiedOn"].Value = date; cmd.ExecuteNonQuery(); } } }
Получение ошибки в cmd.Метод executenonquery();