为什么在此代码中忽略 where 子句?它似乎忽略了更新中的 where 子句,这意味着每条记录都已被覆盖。我怎样才能解决这个问题?任何帮助将不胜感激。
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();
}
}
}