啦啦啦一道弱弱得小题求解答啦
我在数据库中有一张表叫做userinfo 表里面有一列叫做 nickname
现在我得到了一个id 想通过这个id在表中查询 这个nickname的值
然后把得到的nickname 赋值给一个一个lalbel
我这么写有错么?
db.Conn.Open();
string sql = string.Format("select nickname from userinfo where uid ='{0}'", id);
SqlCommand cmd = new SqlCommand(sql,db.Conn);
int t = (int)cmd.ExecuteScalar();
lalnickname.text=t.tostring();
这样写总是报错啊 为什么? 难道是 int t = (int)cmd.ExecuteScalar();这句话有问题?
------解决方案--------------------用这个:http://msdn.microsoft.com/zh-cn/library/9kcbe65k(v=vs.80).aspx
------解决方案--------------------报什么错?另外 lalnickname.Text = sdr["nickname"].ToString();还有这是一个while循环,如果你只想第一个,加个break.
------解决方案--------------------单步调试看有没有取到值。
------解决方案--------------------if (cmd.ExecuteScalar() != null)
{
lalnickname.text=cmd.ExecuteScalar().tostring();
}
------解决方案--------------------http://www.360doc.com/content/12/1124/12/10939365_249921984.shtml
------解决方案--------------------是因为cmd.ExecuteScalar()取回的是空值,所以报错了,如果找不到记录,那么ExecuteScalar则会返回null
------解决方案--------------------