我有一個數據表,其中包含所有必需的字段,這是選擇查詢所需的。現在我正在從數據表的第一行讀取數據並運行選擇查詢(如下所示)。它第一次工作正常。 現在我正在採取第二行,並給予所有必填字段(如我爲第一行),並運行選擇查詢它給錯誤「權限不足」。當我在Oracle SQL Developer中手動運行select查詢(實際上是相同的但具有不同的參數)時,它工作正常。運行相同的查詢導致第二次錯誤
Query1: select cloumnname1 from table where columnname2='valueA' and columnname3= 'VALUEB'
Query2: select cloumnname1 from table where columnname2='valueA' and columnname3= 'VALUEB'
從數據庫中提取數據
public OracleDataReader ExecuteReader(string SelectQuery, string conString)
{
try
{
OpenDbConnection(conString);
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = SelectQuery;
cmd.CommandType = System.Data.CommandType.Text;
OracleDataReader ora_dataReader = cmd.ExecuteReader();
return ora_dataReader;
}
catch (Exception ex)
{
throw ex;
}
finally
{
}
}
編輯: 忘了提,我打電話打開了該功能在另一個函數如下
public DataTable GetDataFromDB(string SelectQuery, string conString)
{
try
{
DataTable dt = new DataTable();
dt.Load(ExecuteReader(SelectQuery,conString));
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally
{
CloseDbConnection();
}
}
重構爲編寫查詢中使用參數化查詢,環繞一個'使用(){}'結構,你的連接對象,那麼你就不會需要調用'close()方法'函數的Oracle對象,以及 – MethodMan