我已經嘗試過各種解決方案,並且我不知道如何正確實施它們,或者它們根本無法工作。我有一種方法可以讓某人在表格中搜索特定的訂單號,然後該行的其餘部分將顯示在gridview中。但是,如果輸入的訂單號在表中不存在,那麼我可能會收到服務器錯誤/異常。我該如何做到這一點,以便在搜索之前或搜索過程中,如果搜索數據庫中不存在的訂單號,那麼我可以創建該錯誤?檢查數據集中是否存在使用C#和ASP的列值
我正在使用ms訪問數據庫,C#和ASP。
下面是一些我一起工作的代碼:
方法用於搜索順序表:
public static dsOrder SearchOrder(string database, string orderNum)
{
dsOrder DS;
OleDbConnection sqlConn;
OleDbDataAdapter sqlDA;
sqlConn = new OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + database);
DS = new dsOrder();
sqlDA = new OleDbDataAdapter("select * from [Order] where order_num='" + orderNum + "'" , sqlConn);
sqlDA.Fill(DS.Order);
return DS;
}
,並使用該方法:
protected void btnSearch_Click(object sender, EventArgs e)
{
Session["OrderNum"] = txtSearch.Text;
Session["ddl"] = ddlSearch.Text;
if (Session["ddl"].ToString() == "Order")
{
dsOrder dataSet2;
dataSet2 = Operations.SearchOrder(Server.MapPath("wsc_database.accdb"), Session["OrderNum"].ToString());
grdSearch.DataSource = dataSet2.Tables["Order"];
grdSearch.DataBind();
}
我需要試一試/抓住?
非常感謝誰能夠幫助我!
'Session [「ddl」]。ToString()',to避免冗餘,使用'ddlSearch.Text ==「訂單」' –
我也會避免使用會話,如果它不被持續橫跨頁面。只需使用ViewState。 – fenix2222
你是否在防範SQL注入?如果有人將sql放入你的txtSearch.Text會發生什麼? – Greg