日期:2014-05-19  浏览次数:20822 次

怎么样遍历表的一列的值
我想插入一个学生学号,事先判断该学号是否已经存在。
我想通过遍历表的该列来与输入值比较。不知道还有没有更好的解决方案。

------解决方案--------------------
如果用SQL做的话可以用

if exists (select * from 表 where 学号 = xxxxxx)
begin
-- 已存在的处理
end
else begin
-- 未存在的处理
end
------解决方案--------------------
for(int i=0;i <表的列数;i++)
{
if(你插入的学号==表[i][学号列].value)
{
........
}
}
这样子不晓得行不行

就是按行遍历一遍!!!
------解决方案--------------------
DataView mv=new DataView(yourtable);
mv.RowFilter= "学号 = 'xxxxxx ' ";
if(mv.count==0)
//不存在
else
//存在
------解决方案--------------------
用一个存储过程,输入参数,在存储过程中判断select count(*) from 表 where 学号 = xxxxxx是否大于0,然后执行是否插入新的学号
------解决方案--------------------
同意楼上的说法,LZ考虑一下在C#处理不好的一面!
------解决方案--------------------
最好是使用自动递增的字段作为这些id的字段,如果可能的话,NHibernate也可以提供这样的功能
------解决方案--------------------
完全赞同wzq6511(给偶点分分)
------解决方案--------------------
cqslzhao(浪子) 效率第

wzq6511(给偶点分分) 正解
------解决方案--------------------
//DataTable1为读出的学生数据集
DataRow[] Rows=DataTable1.Select( "学号= ' "+xxxx+ " ' ");
if(Rows.Length <=0)
{
//没有
}
{
//有
}