2016-03-29 11 views
0

Einige Körper helfen mir. Ich kann diesen Fehler nicht beheben, weil ich nicht weiß, wo es einen Fehler gibt. Ich wurde debugged, aber nicht erfolgreich.Und Fehler ist ORA-00926: fehlt Schlüsselwort VALUES auf C# nach cmd.ExecuteNonQuery();ORA-00926: fehlende Werte Schlüsselwort auf C#

string strInsert = @"Insert into INFOR_STUDENT(IdStudent, NameStudent, NameClass, IdClass, BirthStudent, SexStudent) :IdStudent, :NameStudent, :NameClass, Select IdClass from Infor_Class where NameClass = :NameClass, :BirthStudent, :SexStudent";     

      OracleCommand cmd = new OracleCommand(); 
      //cmd.CommandType = CommandType.StoredProcedure; 
      cmd.CommandText = strInsert; 
      cmd.Connection = connIns; 


      OracleParameter idClassParam = cmd.Parameters.Add("IdStudent", OracleDbType.Varchar2, 
       ParameterDirection.Input); 
      idClassParam.Value = tbxIdStudent.Text; 


      OracleParameter nameClassParam = cmd.Parameters.Add("NameStudent", OracleDbType.Varchar2, 
       ParameterDirection.Input); 
      nameClassParam.Value = tbxNameStudent.Text; 


      OracleParameter Si_soParam = cmd.Parameters.Add("NameClass", OracleDbType.Varchar2, 
       ParameterDirection.Input); 
      Si_soParam.Value = ddListClass.Text; 


      OracleParameter birthStudent = cmd.Parameters.Add("BirthStudent", OracleDbType.Date, 
       ParameterDirection.Input); 
      birthStudent.Value = DateTime.ParseExact(tbxBirthSt.Text, "dd/mm/yyyy", CultureInfo.InvariantCulture); 


      OracleParameter sexStudent = cmd.Parameters.Add("SexStudent", OracleDbType.Varchar2, 
       ParameterDirection.Input); 
      sexStudent.Value = ddListSex.Text; 

      int row = cmd.ExecuteNonQuery(); 

Antwort

1

Wie die Fehlermeldung schon sagt, versuchen VALUES Keyword hinzufügen auf Ihrem strInsert, nachdem Sie alle Spaltennamen der Tabelle angeben:

string strInsert = @"Insert into INFOR_STUDENT(IdStudent, NameStudent, NameClass, IdClass, BirthStudent, SexStudent) VALUES (:IdStudent, :NameStudent, :NameClass, Select IdClass from Infor_Class where NameClass = :NameClass, :BirthStudent, :SexStudent)"; 
0
string strInsert = @"Insert into INFOR_STUDENT(IdStudent, NameStudent, NameClass, IdClass, BirthStudent, SexStudent) Values :IdStudent, :NameStudent, :NameClass, Select IdClass from Infor_Class where NameClass = :NameClass, :BirthStudent, :SexStudent"; 

Sie forgor die Keyword-Werte hinzuzufügen Ihre Anfrage