本文介绍了必须为“roleid”声明标量变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此roleid从数据库表调用,其字段为RoleID,RoleName,ModifiedBY,ModifiedDate



其中所有字段都在调用但在行RoleID中出错在更新语句asp.net项目中。我会分享你的代码请帮帮我



我尝试过的事情:



 //获取GridView的RowIndex 
// GridViewRow gvRow =(GridViewRow)(发送者作为Control).Parent.Parent;
int index = row.RowIndex;
Guid roleId =(Guid)(gvRoleListDispaly.DataKeys [index] .Value);

con = new SqlConnection(ConfigurationManager.ConnectionStrings [DefaultConnection]。ConnectionString);
con.Open();

//命令语句
SqlCommand cmd1 = new SqlCommand(从Security_Roles中选择RoleID,其中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();
//使用更新命令
(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
//如果UserID的值为Null,则ModifiedBy值将为Null
//否则ModifiedBy字段值将为创建它的用户。
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();

解决方案


这篇关于必须为“roleid”声明标量变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 16:44