關於OleDbParameter的問題
【求助】關於OleDbParameter的問題
小弟做簡單測試時遇到一個很奇怪的問題。
以前一直用sqlParameter比較多,第一次用OleDbParameter.debug卻感覺沒有把值傳過去導致查不到結果。
只有一個參數,所以不存在順序的問題。
還望大神指點一二。謝謝.
.net 4.0+vs 2013+c#
錯誤:
'/' 應用程式中發生伺服器錯誤。
處理命令時,發生一或多個錯誤。
ORA-00936: 遺漏表示式
描述:在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外狀況詳細資訊: System.Data.OleDb.OleDbException: 處理命令時,發生一或多個錯誤。
ORA-00936: 遺漏表示式
原始程式錯誤:
行 25: OleDbDataAdapter da = new OleDbDataAdapter(cmd);
行 26: DataSet ds = new DataSet();
行 27: da.Fill(ds);
行 28: return ds.Tables[0];
行 29: }
原始程式檔: d:\Dev.Source\Jeason\COAPODO\COAPODO\OracleHelper.cs 行:27
------解决方案--------------------
OLEDB的约定就是这样的,只要有对应数据库的驱动(Provider)就可以
小弟做簡單測試時遇到一個很奇怪的問題。
以前一直用sqlParameter比較多,第一次用OleDbParameter.debug卻感覺沒有把值傳過去導致查不到結果。
只有一個參數,所以不存在順序的問題。
還望大神指點一二。謝謝.
.net 4.0+vs 2013+c#
protected void Button1_Click(object sender, EventArgs e)
{
string StrSQL = @"select * from acoa1002 where grno=@grno ";
DataTable table = OracleHelper.ExecuteDataTable(StrSQL,
new OleDbParameter("@grno", txtGR.Text.Trim().ToString())
);
GridView1.DataSource = table;
GridView1.DataBind();
}
public static DataTable ExecuteDataTable(string sql, params OleDbParameter[] parameters)
{
using (OleDbConnection conn = new OleDbConnection(ConnStr))
{
conn.Open();
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
{
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddRange(parameters);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
}
}
錯誤:
'/' 應用程式中發生伺服器錯誤。
處理命令時,發生一或多個錯誤。
ORA-00936: 遺漏表示式
描述:在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外狀況詳細資訊: System.Data.OleDb.OleDbException: 處理命令時,發生一或多個錯誤。
ORA-00936: 遺漏表示式
原始程式錯誤:
行 25: OleDbDataAdapter da = new OleDbDataAdapter(cmd);
行 26: DataSet ds = new DataSet();
行 27: da.Fill(ds);
行 28: return ds.Tables[0];
行 29: }
原始程式檔: d:\Dev.Source\Jeason\COAPODO\COAPODO\OracleHelper.cs 行:27
------解决方案--------------------
OLEDB的约定就是这样的,只要有对应数据库的驱动(Provider)就可以