Why is the where clause being ignored in this code? It seems to be ignoring the where clause on the update which means every records has been written over. How can i fix this? Any help would be greatly appreciated.
namespace ResitAssignment2
{
public partial class HomeCareVisitEddit : Form
{
public HomeCareVisitEddit()
{
InitializeComponent();
}
private void SubmitHCVA_Click(object sender, EventArgs e)
{
SqlConnection a = Database.GetConnection();
a.Open();
string sqltext;
sqltext = @"update HomeCareVisit set
PatientNo=@PatientNo,
FurtherVisitRequired=@FurtherVisitRequired,
AdvisoryNotes=@AdvisoryNotes,
Prescription=@Prescription,
TreatmentProvided=@TreatmentProvided,
ActualVisitDateTime=@ActualVisitDateTime,
Priority=@Priority,
ScheduledDateTime=@ScheduledDateTime,
TreatmentInstructions=@TreatmentInstructions,
MedicalStaffID=@MedicalStaffID
WHERE
VisitRefNo=VisitRefNo";
SqlCommand command = new SqlCommand(sqltext, a);
try
{
using (a)
{
command.Parameters.AddWithValue("@PatientNo", PatientNo.Text);
command.Parameters.AddWithValue("@FurtherVisitRequired", FurtherVisitRequired.Text);
command.Parameters.AddWithValue("@AdvisoryNotes", AdvisoryNotes.Text);
command.Parameters.AddWithValue("@Prescription", Prescription.Text);
command.Parameters.AddWithValue("@TreatmentProvided", TreatmentProvided.Text);
command.Parameters.AddWithValue("@ActualVisitDateTime",SqlDbType.DateTime );
{
DateTime.Parse(ActualVisitDateTime.Text);
};
command.Parameters.AddWithValue("@Priority", Priority.Text);
command.Parameters.AddWithValue("@ScheduledDateTime",SqlDbType.DateTime );
{
DateTime.Parse(ScheduledDateTime.Text);
};
command.Parameters.AddWithValue("@TreatmentInstructions", TreatmentInstructions.Text);
command.Parameters.AddWithValue("@MedicalStaffID", MedicalStaffID.Text);
command.Parameters.AddWithValue("@VisitRefNo", VisitRefNo.Text);
command.ExecuteNonQuery();
MessageBox.Show("Record altered");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
a.Close();
}
private void HomeCareVisitEddit_Load(object sender, EventArgs e)
{
SqlConnection a = Database.GetConnection();
a.Open();
string sqlText = "select * from HomeCareVisit where VisitRefNo =" + VisitRefNo;
SqlCommand command = new SqlCommand(sqlText, a);
SqlDataReader HomeCareVisitData = command.ExecuteReader();
while (HomeCareVisitData.Read())
{
//DateTime actual = DateTime.Parse("ActualVisitDateTime");
//DateTime scheduled = DateTime.Parse("ActualVisitDateTieme");
PatientNo.Text = HomeCareVisitData["PatientNo"].ToString();
FurtherVisitRequired.Text = HomeCareVisitData["FurtherVisitRequired"].ToString();
AdvisoryNotes.Text = HomeCareVisitData["AdvisoryNotes"].ToString();
Prescription.Text = HomeCareVisitData["Prescription"].ToString();
TreatmentProvided.Text = HomeCareVisitData["TreatmentProvided"].ToString();
ActualVisitDateTime.Text = HomeCareVisitData["ActualVisitDateTime"].ToString();
Priority.Text = HomeCareVisitData["Priority"].ToString();
ScheduledDateTime.Text = HomeCareVisitData["ScheduledDateTime"].ToString();
TreatmentInstructions.Text = HomeCareVisitData["TreatmentInstructions"].ToString();
MedicalStaffID.Text = HomeCareVisitData["MedicalStaffID"].ToString();
}
a.Close();
}
}
}