我有一个数据库叫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]=''" 顺便再请问一条,怎么判断时候到了数据表的最后一行?
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]=''" 顺便再请问一条,怎么判断时候到了数据表的最后一行?
将查询出来的数据放入dataset中
数据总行数:ds.Tables[0].Rows.Count;
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);
之后应该怎么写?还有我上面写的可能有问题
"select [GPRSIP] from [TestGPRSIP] where [RouteID]='' 这个就是获取RouteID为空的GPRSIP啊
DataTable dt=ds.Tables[0];
datagridview.DataSource=dt;
就是的啊,这样查到的IP一共有三个,我得一个一个处理啊,就是不知道怎么得到第一个IP,然后到第二个IP这样
呵呵
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;
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,进不到这个循环里啊
select [GPRSIP] from [TestGPRSIP] where ISNULL(RouteID,-1)=-1