110,539
社区成员
发帖
与我相关
我的任务
分享
public DataTable se(string oracleStr)
{
try
{
DataSet ds = new DataSet();
DataTable oracleDT = new DataTable();
OracleCommand oracleCmd = new OracleCommand();
oracleCmd.CommandType = CommandType.Text;
oracleCmd.CommandTimeout = 30;
oracleCmd.CommandText = oracleStr;
OracleConnection oraconn = new OracleConnection(Access.oracleConStr());
oracleCmd.Connection = oraconn;
if (oraconn.State != ConnectionState.Open)
oraconn.Open();
OracleDataAdapter oda = new OracleDataAdapter();
oda.SelectCommand = oracleCmd;
oda.Fill(ds);----此处报错
oracleDT = ds.Tables[0];
oraconn.Close();
return oracleDT;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"ERROR!");
return null;
}}
SELECT TO_CHAR(WI.Test_No),TO_CHAR( ROUND(WD.MEDIAN,5)) AS MEDIAN
FROM Wat_Itemselection WI, Wat_Data WD, Wat_File WF
WHERE ...... wi.Part_Id in ('F0856D') AND ROWNUM<1000
ID是小于1000的整数列,MEDIAN是BINARY_DOUBLE。
问题是我去掉第一或者第二列,只留一列也会报这个错。
但是在SQL里面完全正常,整个查询8900条数据的样子,时间2秒。
我加上ROWNUM也不可以,还是报那个错。
SELECT TO_CHAR(WI.Test_No),TO_CHAR( ROUND(WD.MEDIAN,5)) AS MEDIAN
FROM Wat_Itemselection WI, Wat_Data WD, Wat_File WF
WHERE wd.trans_time >=
to_date('2014-02-06 15:01:25', 'yyyy-mm-dd HH24:MI:SS')
AND wd.trans_time <
to_date('2014-03-07 15:01:25', 'yyyy-mm-dd HH24:MI:SS')
AND wi.Part_Id in ('F0856D')
SQL里面可以正常查出来,但是C#里面还是报这个错。