小弟最近在做一个网站的时候碰到这样的一个问题,需求是:读取数据库(dbtest)中四个表中的内容分别只省份表(province),地区表(region),城市表(city)和乡镇表(town)。分为四部分显示。省份以下拉框的方式来显示。右边有个按钮可以来添加省份,添加省份后可以再根据省份的ID添加区域,再通过区域的ID添加城市,再通过城市的ID添加乡镇。我现在的问题是在添加省份名(province_name)的时候,我先查询省份表里面有没有和现在要插入的相同的值。没有才可以插入。我知道可以用foreach来做,但是通过下面语句查询出一个dataset集合后就不知道怎么做了string conn=ConfigurationSettings.AppSettings["connstr"];;//数据库的链接语句
string sql="select province_name from province";
SqlDataAdapter sda=new SqlDataAdapter(sql,conn);
DataSet ds=new DataSet();
sda.Fill(ds);
string strprovincename=this.tbprovince.Text;//获取文本框中省份的值
foreach(string province in ds.Table[0].Rows)
{
        
}foreach里面的语句我也不知道怎么写,下面的判断语句,也不知道怎么写我是个asp.net新人,
希望各位大侠们教教小弟。小弟将感激不尽…………

解决方案 »

  1.   

    select province_name from province where province_name ='广东'
    if(ds.Table[0].Rows.count>0)
    {
    有记录
    }
    else{
    没记录
    }
      

  2.   

    foreach(datarow row in ds.Table[0].Rows)
    {
        if(row["province_name"].tostring().trim().equals(strprovincename.trim()))
        {
            //重复
             break;
        }
    }
      

  3.   

    引用 4 楼 ivws_19 的回复:+修改bool flag=false;
    foreach(datarow row in ds.Table[0].Rows)
    {
      if(row["province_name"].tostring().trim().equals(strprovincename.trim()))
      {
      flag=true;
      break;
      }
    }
    if(flag)
    {
    有重复的操作
    }else{
    没重复记录的操作
    }
      

  4.   

    先判断再添加如
    if not exists (select * from tb where ID=@ID)
    begin
    insert
    end
    也可通过select count(*) from Tb where name=@name获取是否>0