2017-02-16 4 views
-1

ここに私のコードは、テーブルの名前を伝え続けている無効です!Cシャープ:オブジェクト名が無効

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

:私はSQLでクエリを実行し、接続の作業を完全に はそのまた作業完璧 がdbo.patientを試してみましたが、 はまだ変更しようとこのエラーに

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

を取得イムmngmntチェック :

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); 
関連する問題