我试图获取当前页面的当前GUID并将值保存到SQL中。页面加载时,它会在标签中加载GUID。所以我想从标签中取出GUID并放入sql但是它给了我错误:无法将参数值从String转换为Guid。这是我的代码:
protected void btnAddOGCoverageTeamMembers_Click(object sender, EventArgs e)
{
try
{
string AccountGUID = base.Request["account"];
guidget.Text = AccountGUID.ToString();
Hashtable htAMTeam = new Hashtable();
htAMTeam["GUID"] = guidget.Text;
htAMTeam["UserID"] = Convert.ToInt32(Person.SelectedValue);
htAMTeam["Location"] = Location.SelectedValue;
htAMTeam["Product"] = Product.Text;
obj.addTeam(htAMTeam);
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
}
}
这是页面背后的代码:.cs page
public void addTeam(Hashtable htAMTeam)
{
SqlParameter[] OGTeamparam = new SqlParameter[4];
OGTeamparam[0] = new SqlParameter("@AccountGUID", SqlDbType.UniqueIdentifier);
OGTeamparam[1] = new SqlParameter("@UserID", SqlDbType.Int);
OGTeamparam[2] = new SqlParameter("@Location", SqlDbType.VarChar, 50);
OGTeamparam[3] = new SqlParameter("@Product", SqlDbType.VarChar, 50);
OGTeamparam[0].Value = htAMTeam["AccountGUID"];
OGTeamparam[1].Value = htAMTeam["UserID"].ToString();
OGTeamparam[2].Value = htAMTeam["Location"].ToString();
OGTeamparam[3].Value = htAMTeam["Product"].ToString();
SqlHelper.ExecuteNonQuery(OGconnection, CommandType.StoredProcedure, "InsertAccountOGTeam", OGTeamparam);
}
答案 0 :(得分:4)
相反
OGTeamparam[0].Value = htAMTeam["AccountGUID"];
使用
OGTeamparam[0].Value = new Guid((string)htAMTeam["AccountGUID"]);
答案 1 :(得分:2)
我已经开始工作,这就是诀窍:
OGTeamparam[0].Value = new Guid(Convert.ToString(htAMTeam["AccountGUID"]));