我有以下存储过程,我读取datagridview
中的数据和datagridview
以外的一些数据(主要和详细信息)。
其实验室结果,标题数据是患者信息和请求信息datagridview中的数据是结果细节:
ALTER proc [dbo].[UPDATE_PARA_RESULTS]
@ORDER_ID int,
@NORMAL_RESULT varchar(10),
@SAMPLE_STATUS int,
@RESULT_NOTE varchar(200),
@APPROVED_BY varchar(50),
@APPROVED_DATE datetime,
@TESTID int,
@SERIAL int,
@TEXT varchar(50),
@VALUE varchar(50)
AS
UPDATE [dbo].[LAB_PARA_RESULTS]
SET [ORDER_ID] = @ORDER_ID
,[NORMAL_RESULT] = @NORMAL_RESULT
,[SAMPLE_STATUS] = @SAMPLE_STATUS
,[RESULT_NOTE] = @RESULT_NOTE
,[APPROVED_BY] = @APPROVED_BY
,[APPROVED_DATE] = @APPROVED_DATE
,[VALUE] = @VALUE
where ORDER_ID = @ORDER_ID
and TESTID = @TESTID
and SERIAL = @SERIAL
当我保存数据时,标题详细信息保存到数据库,但datagrid
视图中的数据未保存在数据库中。
datagridview
中来自实验室专家窗口的数据首先由他们插入,最后一步是批准结果,如果有任何修改或更改我使用此存储过程更新它。
datagridview
中的VALUE字段未更新datagridview
更新后的其他列。
这是保存按钮void:
private void btnSave_Click(object sender, EventArgs e)
{
if (radyes.Checked == true)
{
checknormal = 1;
}
if (RADNO.Checked == true)
{
checknormal = 2;
}
if (checkApproveResult.Checked == false)
{
for (int i = 0; i < dgvResult.Rows.Count; i++)
{
result.INSERT_PARA_RESULTS(Convert.ToInt32(txtsample.Text),
Convert.ToInt32(txtOrder.Text),
Convert.ToInt32(txtTestId.Text),
checknormal.ToString(),
5,
txtExamUser.Text,
DateTime.Parse(DateTimeExamined.Value.ToString()),
Convert.ToInt32(dgvResult.Rows[i].Cells[0].Value),
dgvResult.Rows[i].Cells[1].Value.ToString(),
dgvResult.Rows[i].Cells[2].Value.ToString(),
"",
8,
Convert.ToInt32(txtDept.Text),
Convert.ToInt32(txtPno.Text),
Convert.ToInt32(txtcustid.Text),
txtReqForm.Text);
}
MessageBox.Show("Result Saved Successfully ", "Entering Para Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
for (int i = 0; i < dgvResult.Rows.Count; i++)
{
result.UPDATE_PARA_RESULTS(Convert.ToInt32(txtOrder.Text),
checknormal.ToString(),
6,
"",
txtApprovedby.Text,
DateTime.Parse(dateTimeApprove.Value.ToString()),
Convert.ToInt32(txtTestId.Text),
Convert.ToInt32(dgvResult.Rows[i].Cells["SERIAL"].Value),
dgvResult.Rows[i].Cells["TEXT"].Value.ToString(),
dgvResult.Rows[i].Cells["RESULT"].Value.ToString());
}
result.update_sample_status(Convert.ToInt32(txtOrder.Text));
MessageBox.Show("Result Approved Successfully ", "Approve Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
this.Close();
}