急救?列包含特定字符

wsyy1998 2010-09-16 02:59:20
有一个表,有两列,

DM DMMC
1 协议
2 合同
3 定委
4 灵活
5 升学
6 出国


如和判断 字符是否在这两列中。

如果是一列的话,直接就可以判断。

以前一列判断代码如下:

DataColumn[] keys = new DataColumn[1];
DataSet ds=new DataSet();
DB.Fill("SELECT xl FROM xlb");
ds=DB.DS.Copy();
keys[0]=ds.Tables[0].Columns["xl"];
ds.Tables[0].PrimaryKey=keys;
if(!ds.Tables[0].Rows.Contains(“字符”))
{
没有包含需要的操作
}


...全文
111 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-16
  • 打赏
  • 举报
回复
sql 直接适用in, DM='' or ..
LINQ TO SQL 查询
from a in TableA where !(from b in TableB Where ... select b.Id).Contains(a.Id)

shixiujin 2010-09-16
  • 打赏
  • 举报
回复
学习了...
Lemon2050 2010-09-16
  • 打赏
  • 举报
回复
楼上的也提供了一个好的思路,就是直接在数据库中进行过滤。但他的where语句不够完美:
SELECT * FROM 表名 where DM like '%’+s+‘%' or DMMC like '%’+s+‘%'。 ////s表示目标字符
至于SQL语句的正确行,你可以先在SQL里测试下(通配符的使用是必要的,但我不该保证我写的就绝对正确)

如果返回为空,表明表里两列不包含该字符
q107770540 2010-09-16
  • 打赏
  • 举报
回复


DB.Fill("SELECT * FROM xlb");
string s="字符";
DataRow[] foundRows;
foundRows=ds.Tables[0].Select("DM=='"+s+"' or DMMC=='"+s+"'");
if(foundRows.Length==0)
{
没有包含需要的操作
}

Lemon2050 2010-09-16
  • 打赏
  • 举报
回复
楼上的也提供了一个好的思路,就是直接在数据库中进行过滤。但他的where语句不够完美:
SELECT * FROM 表名 where DM like '%s%' or DMMC like '%s%'。
至于SQL语句的正确行,你可以先在SQL里测试下
Lemon2050 2010-09-16
  • 打赏
  • 举报
回复
分别判断ds.Tables[0].Rows[0][0]和ds.Tables[0].Rows[0][1]是否包含V10,当然这需要遍历。如果不能直接判断是否包含,可使用中间变量将这些值取出来先。
q107770540 2010-09-16
  • 打赏
  • 举报
回复
select * from xlb where DM='字符' or DMMC='字符'

或使用 ds.Tables[0].Select()方法

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧