OleDbDataReader reader ;
OleDbDataReader reader1 ;
OleDbCommand myCommand;
string strCom;
strCom = "SELECT * FROM Catalogue" ;
myCommand = new OleDbCommand ( strCom , myConn ) ;
reader = myCommand.ExecuteReader ();
while(reader.Read ())
{
students=reader["Catalogue"].ToString();
if(students="111")
{
strCom = "SELECT * FROM grade where Catalogue_id=1" ;
OleDbCommand myCommand1 = new OleDbCommand ( strCom , myConn ) ;
reader1 = myCommand1.ExecuteReader (); while(reader1.Read ())
{
//读出这个表里的每条记录的每个字段的信息
}
reader1.Close ();
}
}
这样写有错,怎么修改呢
1,在一个库里有两个表
2,先打开一个表,读出其中的每一条记录的某个字段的值,判断是否为111
3,是则打开另一个表把里面的每一条记录的每个字段的值取出来
我那样写有错,不知道怎么写,谢谢
OleDbDataReader reader1 ;
OleDbCommand myCommand;
string strCom;
strCom = "SELECT * FROM Catalogue" ;
myCommand = new OleDbCommand ( strCom , myConn ) ;
reader = myCommand.ExecuteReader ();
while(reader.Read ())
{
students=reader["Catalogue"].ToString();
if(students="111")
{
strCom = "SELECT * FROM grade where Catalogue_id=1" ;
OleDbCommand myCommand1 = new OleDbCommand ( strCom , myConn ) ;
reader1 = myCommand1.ExecuteReader (); while(reader1.Read ())
{
//读出这个表里的每条记录的每个字段的信息
}
reader1.Close ();
}
}
这样写有错,怎么修改呢
1,在一个库里有两个表
2,先打开一个表,读出其中的每一条记录的某个字段的值,判断是否为111
3,是则打开另一个表把里面的每一条记录的每个字段的值取出来
我那样写有错,不知道怎么写,谢谢
把reader1.Close ();
改为
reader1.Close ();
break;试一下
OleDbDataReader reader ;
OleDbDataReader reader1 ;
注意这两个不一样
ds.fill("table");
foreach(DataRow r in ds.Table["Table"].Rows){
if(r["filed"]=111){//do something
}试试,good luck
1、程序中没有看见myconn,是不是楼主没有贴出来
2、在reader1.Read时,reader.Read没有关闭,程序应该会报错。因为这两个读都是使用myconn这个连接,在oledb.net中,是会锁定这个myconn连接的数据库的。
3、这个情况下,是不是用dataset更好。