-1
私が何をしても、次のコードは機能していないようです。それは常にExecuteNonQuery()
で壊れます。Oracleデータベースにデータを挿入するために私のASP.NETコードを確認してください
私はmissiongですか?
は常に
のSystem.InvalidOperationExceptionがスローされます:「操作が原因オブジェクトの現在の状態に有効ではありません。」
protected void Submit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
OracleConnection conn = new OracleConnection(connectionString);
int room_id = Int32.Parse(DropDownList2.SelectedValue);
int activity_id = Int32.Parse(DropDownList1.SelectedValue);
string session_code = TextBox1.Text;
int start_time = GetTimeSeconds(startTime.Text);
int period = GetTimeSeconds(duration.Text);
string book_date = bookDate.Text;
string ref_no = DropDownList3.SelectedValue;
conn.Open();
using (OracleCommand cmd = new OracleCommand(
"insert into BRAZESH.ALL_SESSION(SESSION_CODE,START_TIME,\"PERIOD\",BOOKED_DATE,ROOM_ID,ACTIVITY_ID,REF_NO)" +
" values ('" + session_code + "'," + start_time + "," + period + ",to_date('" + book_date + "', 'yyyy-mm-dd')," + room_id + "," + activity_id + ", '" + ref_no + "')"))
{
try
{
cmd.ExecuteNonQuery();
}catch (OracleException ex)
{
throw ex;
}
}
}
}
OracleConnectionの 'cmd'にOracleConnectionの「conn」を割り当てることは決してありません。 – Filburt
パラメータ化されたクエリとバインド変数を使用する必要があります。使用しているコードにSQLインジェクションの恩恵があります。 – MT0