1、只有一条,怎么可能不能使用while(dr.read())呢?
一条数据,while循环就执行一次呗//
// 摘要:
// 使 System.Data.IDataReader 前进到下一条记录。
//
// 返回结果:
// 如果存在多个行,则为 true;否则为 false。
bool Read();
2、使用用if(!dr.read()) 读取数据报错,怀疑你的dr是null
一条数据,while循环就执行一次呗//
// 摘要:
// 使 System.Data.IDataReader 前进到下一条记录。
//
// 返回结果:
// 如果存在多个行,则为 true;否则为 false。
bool Read();
2、使用用if(!dr.read()) 读取数据报错,怀疑你的dr是null
是我这边的问题
我采用的是拼接
string name ="柘溪";
string sql_name = "select * from stationinfo where stationname='" + name+"'";
OracleCommand com = new OracleCommand(sql_name, co);
OracleDataReader dr=com.ExecuteReader();这个查询是没有结果的 原因是在与单引号 但是不知如何解决
是我这边的问题
我采用的是拼接
string name ="柘溪";
string sql_name = "select * from stationinfo where stationname='" + name+"'";
OracleCommand com = new OracleCommand(sql_name, co);
OracleDataReader dr=com.ExecuteReader();这个查询是没有结果的 原因是在与单引号 但是不知如何解决
你单步调试一下,拿到sql_name的值,在数据库执行一下,为什么没有结果不就知道原因了嘛
然后各种地方要连数据库,都直接用这个类就好了
否则每个地方都自己写一大堆代码,不一定哪里就不小心漏掉了什么
是我这边的问题
我采用的是拼接
string name ="柘溪";
string sql_name = "select * from stationinfo where stationname='" + name+"'";
OracleCommand com = new OracleCommand(sql_name, co);
OracleDataReader dr=com.ExecuteReader();这个查询是没有结果的 原因是在与单引号 但是不知如何解决
你单步调试一下,拿到sql_name的值,在数据库执行一下,为什么没有结果不就知道原因了嘛做了 是没有问题的 能查到结果
问题就是处在汉字问题上
http://bbs.csdn.net/topics/330097760
string name ="柘溪";
string sql_name = "select * from stationinfo where stationname='" + name+"'";
OracleCommand com = new OracleCommand(sql_name, co);
DataSet ds = new DataSet();
myCommand.Fill(ds);
s = ds.Tables[0].Rows[0][0].ToString() ;//一条数据 //多的数据
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
s = ds.Tables[0].Rows[i][0].ToString() ;
}