c# 如何高效 简洁的执行SQL语句 下面例子

做了一个登录的窗体
用户登录点提交的时候 就去数据库检查有没有这个用户如果有的话就返回true
然后又去检查这个用户的是不是被禁用
再去查这个用户的到期时间
到了这里c#代码里面就写了三条sql语句了
SELECT * FROM table WHERE name='xxxx'
SELECT * FROM table WHERE disable=1 AND name='xxx'
SELECT * FROM table ........
能不能只写一条sql语句 就查询我所需要的数据 我再做客户端判断
MSSSql

3个回答

执行第一条就行了SELECT * FROM table WHERE name='xxxx',取出需要判断的属性,不用select *,浪费资源

然后客户端假设你填充的是SqlDataReader

 if(dr.Read()){

if(dr["disable"].ToString()=="1"){
//.....disable的操作
}
//其他判断

}
dr.Close();
showbo
支付宝加好友偷能量挖 回复小菜来袭: left join或者同时查询2个表获取数据都行。。这个是sql的范畴了
接近 3 年之前 回复
u011954277
小菜来袭 我想请问下如果是查询两个不同的表呢? 也能一条sql语句解决 吗?
接近 3 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 对啊,bobo说的好,单单就lz的查询,完全可以联合成一条sql
接近 3 年之前 回复

SELECT * FROM table WHERE name='xxxx'
就这一条语句不是就把该用户信息全部查到了吗,返回一个表,如果是空就代表用户不存在,如果有大于0条数据,通过这个表
就可以拿到这个用户是否被禁用以及到期时间的字段了

写成存储过程,C#调用,而且存储过程是事务性的,而且存储过程效率高。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复小菜来袭: 可以啊
接近 3 年之前 回复
u011954277
小菜来袭 我想请问下如果是查询两个不同的表呢? 也能一条sql语句解决 吗?
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问