이 문제가 계속됩니다. 도와주세요. InvalidCastException이 얻기InvalidCastException C#
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandTimeout = 0;
cmd.CommandText = "hhrcv_upsert_grv_sku";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("pv_delivery_bay_code", OracleDbType.VarChar).Value = this.bayCode.ToString();
cmd.Parameters.Add("pn_company_id_no", OracleDbType.Number).Value = lblCompany_id_no.Text.ToString();
cmd.Parameters.Add("pn_order_no", OracleDbType.Number).Value = this.orderCode.ToString();
cmd.Parameters.Add("pn_sku_id_no", OracleDbType.Number).Value = lblSku_id_no.Text.ToString();
cmd.Parameters.Add("pn_price", OracleDbType.Number).Value = txtPrice.Text.ToString();
cmd.Parameters.Add(new OracleParameter("pv_error", OracleDbType.VarChar));
cmd.Parameters["pv_error"].Direction = ParameterDirection.Output;
string pv_error;
conn.Open();
cmd.ExecuteNonQuery();
pv_error = (string)cmd.Parameters["pv_error"].Value;
if (cmd.Parameters["pv_error"].Value.ToString().Equals("Invalid"))
{
MessageBox.Show("Invalid");
}
else
{
MessageBox.Show("valid");
}
를 해결하는 방법 확실하지 pv_error = (string)cmd.Parameters["pv_error"].Value;
을 읽어 줄에 처리되지 않은했다.
감사합니다.
'문자열'입니까? 나중에 코드에서 ToString()을 호출합니다. '문자열'이 아니면 중복됩니다. –
cmd.Parameters [ "pv_error"] .Value.ToString()을 사용해보십시오. – JleruOHeP
은 문자열로 Oracle.Number 유형의 매개 변수를 설정하기 때문입니다. –