我有一个数据库叫IP.mdb,里面有一个数据表叫TestGPRSIP,结构如下:
FullID  RouteID  GPRSIP          StrHeartTest   Port
                 192.168.0.1                    1000
                 192.168.0.2                    1001
                 192.168.0.3                    1003我想查到RouteID为空的IP地址,可以查到三条记录,怎么从查到的第一行开始一直到最后一行,即最后一个IP。
SQL语句为"select [GPRSIP] from [TestGPRSIP] where [RouteID]=''" 顺便再请问一条,怎么判断时候到了数据表的最后一行?

解决方案 »

  1.   

    我想查到RouteID为空的IP地址,可以查到三条记录,怎么从查到的第一个IP开始处理问题,处理完之后到第二个IP,一直到最后一行,即最后一个IP。
      

  2.   

    select * from [TestGPRSIP]
    将查询出来的数据放入dataset中
    数据总行数:ds.Tables[0].Rows.Count;
      

  3.   

    string strPath = Application.StartupPath + "\\IP.mdb";
                    string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='" + strPath + "'";
                    //string GPRSClientIPTmp;
                    
                    OleDbDataAdapter da;
                    OleDbConnection myConn = new OleDbConnection(ConStr);
                    myConn.Open();
                    string selstr;
                    selstr = "select [GPRSIP] from [TestGPRSIP] where [RouteID]=''";
                    da = new OleDbDataAdapter(@selstr, myConn);
                    DataSet ds = new DataSet(); //创建DataSet对象
                      da.Fill(ds);
    之后应该怎么写?还有我上面写的可能有问题
      

  4.   


    "select [GPRSIP] from [TestGPRSIP] where [RouteID]='' 这个就是获取RouteID为空的GPRSIP啊
      

  5.   

    假如显示在datagridview中
    DataTable dt=ds.Tables[0];
    datagridview.DataSource=dt;
      

  6.   

    "select [GPRSIP] from [TestGPRSIP] where [RouteID]='' 这个就是获取RouteID为空的GPRSIP啊
    就是的啊,这样查到的IP一共有三个,我得一个一个处理啊,就是不知道怎么得到第一个IP,然后到第二个IP这样
      

  7.   

    查到了之后也不知道怎么把IP地址赋给string GPRSClientIPTmp;
    呵呵
      

  8.   

    LZ我有点晕了 你是要获取到RouteID为空的数据个嘛DataTable dt=ds.Tables[0];
    string GPRSClientIPTmp="";
    for(int i=0;i<dt.Rows.Count;i++)
    {
        GPRSClientIPTmp+=dt.Rows[i].Tostring();//因为只有一列所以这个就能实现  如果LZ为了区别是三个 可以这样 GPRSClientIPTmp+=dt.Rows[i].Tostring()+",;
    }
    string str=GPRSClientIPTmp;
      

  9.   

    string strPath = Application.StartupPath + "\\IP.mdb";
                    string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='" + strPath + "'";
                    string GPRSClientIPTmp;
                    OleDbDataAdapter da;
                    OleDbConnection myConn = new OleDbConnection(ConStr);
                    myConn.Open();
                    string selstr;
                    selstr = "select [GPRSIP] from [TestGPRSIP] where [RouteID]=''";
                    da = new OleDbDataAdapter(@selstr, myConn);
                    DataSet ds = new DataSet(); //创建DataSet对象
                    da.Fill(ds);
                    DataTable dt = ds.Tables[0];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        GPRSClientIPTmp = dt.Rows[i].ToString();                }
      这么写是吗?可是读出来的dt.Rows.Count=0,进不到这个循环里啊
      

  10.   

    单步调试 看ds的数据 你调试的时候用鼠标指到ds  会有一个放大镜的标志 双击这个放大镜标志 能弹出一个表 看表里面有没有数据  
      

  11.   

    那说明你没有取到数据,说明,sql语句不正确。
      

  12.   

    RouteID是数字,是空的也就是NULL,‘’是空字符,怎能查到数据?
      

  13.   


    select [GPRSIP] from [TestGPRSIP] where ISNULL(RouteID,-1)=-1
      

  14.   

    ACCESS数据库select [GPRSIP] from [TestGPRSIP] where Nz(RouteID,-1)=-1