SqlCommand cmd3 = new SqlCommand("select " + cl + " from zhuanye where UserNum='" + num + "'", conn);
SqlDataReader sd3 = cmd3.ExecuteReader();
if (sd3.HasRows)
cl表示数据库表里面的一个字段,num是自己赋得值,通过数据库查询cl对应的字段为空,但是运行结果还是提示if(sd3.HasRows)为真,怎么修改才能正确运行?
如果你只需要判断cl字段存不存在数据,那么可以查count(cl)然后条件里加上and cl is not null
这样在if语句里就判断是否大于等于1
你查询字段应该这样:SqlCommand cmd3 = new SqlCommand("select cl from zhuanye where UserNum='" + num + "'", conn);
你写的cl好像是个变量一样。你查询的时候返回什么?datatable还是dataset? 至于如果判断查询结果是否为空,你的返回类型应该是int,大于0表示存在数据,小于0就是没有查询到。if (sd3.HasRows)这个是判断bool类型的。
你判断什么,数据库是否有这个记录,还是查找的username为null
后者直接sql的where条件写null
前者就是你的那样,hasrows就可以。