前台获取一段数据,例如 1000 1001 4502 6589 1269 1475 1547。
数据库中表格为:
ID  filed1  filed2 filed3 filed4 filed5
1   1000    4652   1379   1001
2   4502    1475
3   4502    1111   1895根据逻辑,我期望得到的结果是ID=2。但是如何根据前台获取的这一串数据 得到数据库中的ID值。代码实现起来有点困难,没想出来。

解决方案 »

  1.   

    你是说在dataset 里面查询 ID = 2 的么
      

  2.   

    是的,可以不从dataset里查找,也可以直接从DB里查找。
      

  3.   

    string sqlFilter= String.Format( "ID ='{0}'","2");    
    DataRow[] selectRows =  dataSet.tables[0].select(sqlFilter);or DataRow[] selectRows =  dataSet.tables[0].select("ID = 2");
      

  4.   


    select id from Table where filed1 in('前台字符串') and 
    filed2in('前台字符串') and 
    filed3 in('前台字符串') and 
    filed4 in('前台字符串') and 
    filed5 in('前台字符串') 不知道你的意思是不是这样
      

  5.   

    逻辑是这样的,前端获取一串数据,然后根据这一串数据定位 在数据库中哪一条记录的其他5个字段中 包含前端获取的数据。
    数据库中空的字段不参与判断。如我的例子
    1000 1001 4502 6589 1269 1475 1547。ID filed1 filed2 filed3 filed4 filed5
    1  1000   4652   1379   1001
    2  4502   1475
    3  4502   1111   18951的filed2、filed3不包含在前端的数据中
    3的filed2、filed3不包含在前端数据中
    只有2的所有字段, filed1 和field2都存在于 前端的数据中
    所以选择出2
      

  6.   


    嗯,你这个有点像了。  不过in(‘’,‘’,‘’)里面要添加空字符 ,不然如果某个字段没数据,就查不到了。
    3Q