Here's a method i wrote to insert new data or if data exists update the existing data with the new value
GeSHi (csharp):
public void InsertOrUpdate(int vraagID, int persoonsID, double score)
{
string sqlQuery = "Select * from F_VraagAntwoord where Persoon_IDFK = " + persoonsID + " and Vraag_IDFK = " + vraagID;
SqlCommand cmd =
new SqlCommand
(sqlQuery, conn
);
conn.Open();
a =
new SqlDataAdapter
(cmd
);
a.Fill(s);
if (s.Tables[0].Rows.Count > 0)
{
string sqlQueryUpdate = "UPDATE F_VraagAntwoord SET Score = @Score WHERE Persoon_IDFK = @persoonsID and Vraag_IDFK = @vraagID";
SqlCommand cmdUpdate =
new SqlCommand
(sqlQueryUpdate, conn
);
cmdUpdate.Parameters.Add("@vraagID", SqlDbType.Int);
cmdUpdate.Parameters.Add("@persoonsID", SqlDbType.Int);
cmdUpdate.Parameters.Add("@score", SqlDbType.Decimal);
cmdUpdate.Parameters["@vraagID"].Value = vraagID;
cmdUpdate.Parameters["@persoonsID"].Value = persoonsID;
cmdUpdate.Parameters["@score"].Value = score;
cmdUpdate.ExecuteNonQuery();
cmdUpdate.ExecuteNonQuery();
}
if (s.Tables[0].Rows.Count == 0)
{
string sqlQueryInsert = "Insert into F_VraagAntwoord (Vraag_IDFK,Persoon_IDFK, Score) VALUES(@vraagID , @persoonsID , @score )";
SqlCommand cmdInsert =
new SqlCommand
(sqlQueryInsert, conn
);
cmdInsert.Parameters.Add("@vraagID", SqlDbType.Int);
cmdInsert.Parameters.Add("@persoonsID", SqlDbType.Int);
cmdInsert.Parameters.Add("@score", SqlDbType.Decimal);
cmdInsert.Parameters["@vraagID"].Value = vraagID;
cmdInsert.Parameters["@persoonsID"].Value = persoonsID;
cmdInsert.Parameters["@score"].Value = score;
cmdInsert.ExecuteNonQuery();
}
conn.Close();
}
Created by GeSHI 1.0.7.20