1,我从一个表里读取符合条件的记录,放到DATAROW里,然后写下如下条件
if(dataSet.Tables[0].Rows.Count>0)
  {
    if(dataRow!=null)
     {
       dataRow=dataSet.Tables[0].Rows[0];
       TextBox1.Text=dataRow["ID"].ToString();
       TextBox2.Text=dataRow["Time"].ToString(); 
      }
     else
      {
Page.RegisterStartupScript("warnings", "<script>alert('此记录不存在!');</script>");
       }
 }
else
{
  Page.RegisterStartupScript("warnings", "<script>alert('表内没有任何记录!');</script>");

}想问dataRow=dataSet.Tables[0].Rows[0];这句应该放在什么地方,因为我放在现在这个地方明明存在的数据也会弹出‘此记录不存在’的信息,放在第一个循环里,当查找不存在的记录时,又弹出‘表内没有任何记录’的信息,但数据库里明明还有其他数据,正确应该弹出‘此记录不存在’的呀?到底是哪里出错了?

解决方案 »

  1.   

    '此记录不存在'中的/此记录'是什么意思啊?
    你原来的程序和下面的应该没什么两样吧
    if(dataSet.Tables[0].Rows.Count>0)
      {
           dataRow=dataSet.Tables[0].Rows[0];
           TextBox1.Text=dataRow["ID"].ToString();
           TextBox2.Text=dataRow["Time"].ToString(); 
     }
    else
    {
      Page.RegisterStartupScript("warnings", "<script>alert('表内没有任何记录!');</script>");

    }
      

  2.   

    之所以现在会弹出‘此记录不存在’的信息是因为dataRow==null
      

  3.   

    dataSet.Tables[0].Rows.Count==0
    不就是不存在吗?
    dataRow 不是重 dataSet.Tables[0].Rows[0]; 取的吗?
    if (dataRow !=null)
    dataRow =dataSet.Tables[0].Rows[0]; //这里能执行到吗?
    你的逻辑好像问题多多
    DataTable 里的数据由可能是 DBNull 没可能是  null;
      

  4.   

    照你的意思应该这样写吧:
    if(dataSet.Tables[0].Rows.Count>0)
      {
         foreach(DataRow dataRow in dataSet)
         {
             if(dataRow["ID"].ToString()=="你想要的")
              {
                dataRow=dataSet.Tables[0].Rows[0];
                TextBox1.Text=dataRow["ID"].ToString();
                TextBox2.Text=dataRow["Time"].ToString(); 
                break;//找到符合条件的后跳出循环
               }
              else
               {
               Page.RegisterStartupScript("warnings", "<script>alert('此记录不存在!');</script>");
                }
         }
     }
    else
    {
      Page.RegisterStartupScript("warnings", "<script>alert('表内没有任何记录!');</script>");

    }
      

  5.   

    if(dataSet.Tables[0].Rows.Count>0)
      {
         foreach(DataRow dataRow in dataSet)
         {
             if(dataRow["ID"].ToString()=="你想要的") //这里是你筛选数据的条件
              {
                dataRow=dataSet.Tables[0].Rows[0];
                TextBox1.Text=dataRow["ID"].ToString();
                TextBox2.Text=dataRow["Time"].ToString(); 
                break;//找到符合条件的后跳出循环
               }
              else
               {
               Page.RegisterStartupScript("warnings", "<script>alert('此记录不存在!');</script>");
                }
         }
     }
    else
    {
      Page.RegisterStartupScript("warnings", "<script>alert('表内没有任何记录!');</script>");

    }
      

  6.   

    if(dataSet.Tables[0].Rows.Count>0)
      {
        if(dataRow!=null)
         {
           dataRow=dataSet.Tables[0].Rows[0];
           TextBox1.Text=dataRow["ID"].ToString();
           TextBox2.Text=dataRow["Time"].ToString(); 
          }
         else
          {
    Page.RegisterStartupScript("warnings", "<script>alert('此记录不存在!');</script>");
           }
     }
    else
    {
      Page.RegisterStartupScript("warnings", "<script>alert('表内没有任何记录!');</script>");

    }
    第二个IF判断无效
      

  7.   

    第二个判断
       if(dataRow!=null)   //dataRow 不能位空!
       {
         dataRow=dataSet.Tables[0].Rows[0];//是先判断后赋值吗!?建议把此句放在本此判断之前?
         TextBox1.Text=dataRow["ID"].ToString();
         TextBox2.Text=dataRow["Time"].ToString(); 
       } 
    “我从一个表里读取符合条件的记录,放到DATAROW里”????
    你从一个表里读取的数据应该放在一个Table里,这样理解就容易多了,然后在进行这个Table中数据的验证!!第二次判断用if(dataSet.Table["table_TwoName"].Row.Count > 0 ) {...;}else{Response....;}