【发布时间】:2011-09-09 03:01:08
【问题描述】:
我运行了 Adnan 昨晚帮我解决的以下代码(非常感谢 Adnan)。
基本上,代码会检查输入的金额是否为支票。如果是check,则将check值插入chckval。
如果是现金,则将现金值插入cashval。
到目前为止,它已经成功了一半。它将支票插入到支票字段名中,并将 0 插入到现金字段名中。效果很好。
如果钱是现金,则将现金插入现金字段名是行不通的。
它将现金插入到现金字段名中,但它也将相同的金额插入到支票字段名中。这不好。
如果是现金并插入现金字段名,我希望校验值为0。
这是最新的代码,再次感谢。
For x = 1 To 5 Step 1
dedval = Gridview1.FindControl("ded" & CStr(x))
chckval = Gridview1.FindControl("chck" & CStr(x))
chcknumval = Gridview1.FindControl("chcknum" & CStr(x))
checkboxval = Gridview1.FindControl("chckBox" & CStr(x))
onetimeval = Gridview1.FindControl("onetime" & CStr(x))
multival = Gridview1.FindControl("multi" & CStr(x))
If chckval.Text <> "" And Not checkboxval.Checked Then
cashval = DirectCast(Gridview1.FindControl("chck" & CStr(x)), TextBox).Text
Else
chckval = Gridview1.FindControl("chck" & CStr(x))
End If
If dedval.Text <> "-1" And donatechoice.SelectedItem.Value <> "No" Then
sql += "INSERT INTO employee_ded_amts (employee_id, charity_code, check_amt, chcknum, one_time, bi_weekly, cash, donate_choice, date_stamp) "
sql += "VALUES ('" & Replace(employee_idLabel.Text, "'", "''") & "','" & Replace(dedval.SelectedValue, "'", "''") & "','" & Replace(chckval.Text, "'", "''") & "','" & Replace(chcknumval.Text, "'", "''") & "','" & Replace(onetimeval.Text, "'", "''") & "','" & multival.Text & "','" & Replace(cashval, "'", "''") & "','" & Replace(donatechoice.SelectedItem.Value, "'", "''") & "','" & Replace(datestamp, "'", "''") & "');"
End If
If donatechoice.SelectedItem.Value = "No" Then
x = 6
sql += "INSERT INTO employee_ded_amts (employee_id, charity_code, check_amt, chcknum, one_time, bi_weekly, cash, donate_choice, date_stamp) "
sql += "VALUES ('" & Replace(employee_idLabel.Text, "'", "''") & "','" & Replace(dedval.SelectedValue, "'", "''") & "','" & Replace(chckval.Text, "'", "''") & "','" & Replace(chcknumval.Text, "'", "''") & "','" & Replace(onetimeval.Text, "'", "''") & "','" & Replace(multival.Text, "'", "''") & "','" & Replace(cashval, "'", "''") & "','" & Replace(donatechoice.SelectedItem.Value, "'", "''") & "','" & Replace(datestamp, "'", "''") & "');"
End If
Next
我觉得有问题
IF chckval.Text <> "" And Not checkboxval.Checked Then
声明
【问题讨论】:
-
仅供参考,请参阅meta.stackexchange.com/questions/2950/…。另外,仅供参考,这不是论坛。
-
也许这应该在codereview.stackexchange.com上?
-
您的代码看起来容易受到 SQL 注入攻击。你应该看看参数化你的 sql 语句。