我正在查詢數據,如果數據不存在,我插入它。如果是這樣,我做別的:縮短數據訪問代碼......這會工作嗎?
SqlCommand checkHead = new SqlCommand("SELECT * FROM TABLE WHERE ORDER_NO = '" + orderNo + "';", connection);
SqlDataReader checkHeadReader = checkHead.ExecuteReader(CommandBehavior.SingleRow);
if (!checkHeadReader.HasRows)
{
checkHeadReader.Close();
addHead.ExecuteNonQuery();
}
但我不知道是否有一個更短的方式來編碼?下面的代碼會工作嗎?
SqlCommand checkHead = new SqlCommand("SELECT * FROM TABLE WHERE ORDER_NO = ' + orderNo + "';", connection);
if(checkHead.ExecuteReader(CommandBehavior.SingleRow).HasRows)
addHead.ExecuteNonQuery();
else //this order already exists
Server.Transfer(@"~/Views/Error.aspx");
當您嘗試時發生了什麼? – jrummell
閱讀SQL注入! – RvdK
您需要關閉閱讀器。 – SLaks