asp.net问题System.ArgumentException: 不支持关键字: “unicode”,怎么解决?
源错误:行30:{行31:stringuserId=Session["userID"].ToString();行32:stringuserName=UserManager...
源错误:
行 30: {
行 31: string userId = Session["userID"].ToString();
行 32: string userName = UserManager.GetUserName(userId);//显示出错
行 33: Label i = (Label)Page.Master.FindControl("labUser");
行 34: i.Text = userName;
UserManager.GetUserName()这个类:
using (OracleConnection conn = DBHelp.GetConnection())
{
string sql = "select UserName from Users where UserID='0'";
OracleCommand cmd = conn.CreateCommand();
sql = string.Format(sql, UserID);
cmd.CommandText = sql;
conn.Open();
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
return dr["UserName"].ToString();
}
//Users u = PopUserFromDataReader(dr);
dr.Close();
conn.Close();
return "";
} 展开
行 30: {
行 31: string userId = Session["userID"].ToString();
行 32: string userName = UserManager.GetUserName(userId);//显示出错
行 33: Label i = (Label)Page.Master.FindControl("labUser");
行 34: i.Text = userName;
UserManager.GetUserName()这个类:
using (OracleConnection conn = DBHelp.GetConnection())
{
string sql = "select UserName from Users where UserID='0'";
OracleCommand cmd = conn.CreateCommand();
sql = string.Format(sql, UserID);
cmd.CommandText = sql;
conn.Open();
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
return dr["UserName"].ToString();
}
//Users u = PopUserFromDataReader(dr);
dr.Close();
conn.Close();
return "";
} 展开
2个回答
展开全部
楼上的这位你干过C#没?
那上面写的很清楚,string userid=....你还问userid是怎么定义的,这明显不是数据类型的事,
我觉得是你这句有问题:
string sql = "select UserName from Users where UserID='0'";
应该是:
string sql = "select UserName from Users where UserID={0}";
这样吧。占位符。可以试试看,如果userid在数据库里不是数字,那就
string sql = "select UserName from Users where UserID='{0}'";试试。
实在不行就不要用占位符了 直接拼串:
string sql = "select UserName from Users where UserID="+userid;
那上面写的很清楚,string userid=....你还问userid是怎么定义的,这明显不是数据类型的事,
我觉得是你这句有问题:
string sql = "select UserName from Users where UserID='0'";
应该是:
string sql = "select UserName from Users where UserID={0}";
这样吧。占位符。可以试试看,如果userid在数据库里不是数字,那就
string sql = "select UserName from Users where UserID='{0}'";试试。
实在不行就不要用占位符了 直接拼串:
string sql = "select UserName from Users where UserID="+userid;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询