2017-02-16 32 views
-1

這裏是我的代碼,它一直告訴表的名稱是無效的! 我檢查它的完美 工作方面,我在執行SQL mngmnt查詢它也可以正常使用 試圖dbo.patient和 仍然即時得到這個錯誤C sharp:對象名稱無效

private void button1_Click(object sender, EventArgs e) 
{ 
    string sexe_patient=""; 
    cnx conx = new cnx(); 

    string strRequete = "SELECT nom_patient,cin_patient FROM patient"; 

    try 
    { 
     //Execution de la requête 
     myCommand = new SqlCommand(strRequete, cnx.myConnection); 
     //Lecture des enregistrements à l’aide d’un SqlDataReader 
     SqlDataReader mySqDataReader = myCommand.ExecuteReader(); 
     while (mySqDataReader.Read()) 
     { 
      //On teste que le résultat n’est pas NULL afin d’éviter un plantage on moment du cast 
      if (!(mySqDataReader["nom_patient"].Equals(nom_patient.Text)) && (!mySqDataReader["cin_patient"].Equals(cin_patient.Text))) 
      { 
       //récupéré le type de sexe 
       if (sexe.Equals("femme")) 
       { 
        sexe_patient ="femme"; 
       } 
       else 
       { sexe_patient = "homme"; } 


       string add_patient = "INSERT INTO patient(cd_patient,cin_patient,nom_patient,date_naissance,sexe,adresse,profession,etat_physique) VALUES("+cd_patient.Text+","+cin_patient.Text+","+nom_patient.Text+","+date_naissance+","+sexe_patient+","+adresse.Text+","+profession.Text+","+etat_phy.Text+");"; 
       myCommand = new SqlCommand(add_patient, cnx.myConnection); 


       MessageBox.Show("Patient has been added successfuly", "Halleljuah!!", MessageBoxButtons.OKCancel); 
       break; 
      } 
      else 
      { 
       //alert 
       MessageBox.Show("Il y a des champs vide", "erreur", MessageBoxButtons.OKCancel); 
      } 
     } 
    } 
    catch (Exception eMsg1) 
    { 
     //En cas d’erreur on affiche le message d’erreur 
     //alert 
     MessageBox.Show(eMsg1.Message, "erreur", MessageBoxButtons.OKCancel); 
    } 
    finally 
    { 
     //Quoiqu’il arrive on ferme proprement la connexion à la base 
     cnx.myConnection.Close(); 
    } 
} 
+1

發佈確切完整的錯誤消息。同時指出在哪一行上,您有多個SQL語句。 –

+1

另外,查看「SQL注入」。我認爲(希望)這是作業,而不是真正的病人。 –

回答

1

嘗試改變:

string add_patient = "INSERT INTO patient(cd_patient,cin_patient,nom_patient,date_naissance,sexe,adresse,profession,etat_physique) VALUES("+cd_patient.Text+","+cin_patient.Text+","+nom_patient.Text+","+date_naissance+","+sexe_patient+","+adresse.Text+","+profession.Text+","+etat_phy.Text+");" 
myCommand = new SqlCommand(add_patient, cnx.myConnection); 

附:

string add_patient = "INSERT INTO patient(cd_patient,cin_patient,nom_patient,date_naissance,sexe,adresse,profession,etat_physique) VALUES(@cd_patient,@cin_patient,@nom_patient,@date_naissance,@sexe_patient,@adresse,@profession,@etat_physique)"; 
myCommand= new SqlCommand(add_patient, cnx.myConnection); 
myCommand.Parameters.AddWithValue("@cd_patient", cd_patient.Text); 
myCommand.Parameters.AddWithValue("@cin_patient", cin_patient.Text); 
myCommand.Parameters.AddWithValue("@nom_patient", nom_patient.Text); 
myCommand.Parameters.AddWithValue("@date_naissance", date_naissance); 
myCommand.Parameters.AddWithValue("@sexe_patient", sexe_patient); 
myCommand.Parameters.AddWithValue("@adresse", adresse.Text); 
myCommand.Parameters.AddWithValue("@profession", profession.Text); 
myCommand.Parameters.AddWithValue("@etat_physique", etat_phy.Text);