1
其實我的代碼是假設檢查course_choice_teacher
表中是否有任何值。如果沒有,那麼它會在表中插入一些值。現在這個時候表中沒有價值。所以dr2.Read()
應該返回false並執行else部分。但它正在做相反的事情。如果你幫助我達到這個目的,我會非常高興。爲什麼這個插入不工作?`
string oradb = "Data Source=localhost;User Id=system;Password=cse;";
OracleConnection conn = new OracleConnection(oradb); // C#
conn.Open();
OracleCommand cmd2 = new OracleCommand();
cmd2.Connection = conn;
cmd2.CommandText = "select * from course_choice_teacher where teacher_id='"+teacher_home.st+"' and choice_no=1";
cmd2.CommandType = CommandType.Text;
OracleDataReader dr2 = cmd2.ExecuteReader();
if (dr2.Read())
{
MessageBox.Show("Already Given");
}
else
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into course_choice_teacher values('" + teacher_home.st + "','" + dataGridView1.CurrentRow.Cells["course_id"].Value.ToString() + "',1)";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
}
conn.Dispose();
也許我的眼睛在欺騙我,但數據庫名稱在哪裏指定?我有一段時間沒有碰到Oracle,但通常ConnectionStrings的數據庫名稱都在其中。 –