2016-03-29 110 views
0

有些身体帮助我。我无法修复这个错误,因为我不知道错误在哪里。我错过了,但没有成功。并且错误是ORA-00926:在cmd.ExecuteNonQuery()后C#上缺少VALUES关键字。ORA-00926:C上缺少VALUES关键字#

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(); 

回答

1

随着错误消息表明,试图在添加VALUES关键字的strInsert后您指定的表的所有列名:

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"; 

您forgor的关键字值添加到您的查询