使用IF语句将数据添加到数据库中

时间:2009-07-28 02:05:37

标签: asp-classic

我想使用基于某些条件的if语句将数据添加到数据库中..但是我的代码不起作用..需要你的建议。

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then %>
rs_view("Status")="Proceed"

<% Else %>

rs_view("Status")="Stop"

<% End If %>

我想将结果直接保存到数据库中。我怎样才能做到这一点?无法获得正确的代码。希望你能帮忙。感谢。

4 个答案:

答案 0 :(得分:2)

我认为您需要删除所有“&lt;%”和“%&gt;”除了第一个和最后一个。

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then
rs_view("Status")="Proceed"

Else

rs_view("Status")="Stop"

End If %>

答案 1 :(得分:0)

如果要添加新记录,请在尝试设置字段值之前添加语句

rs_view.AddNew()
rs_view("Status")="Stop"
rs_view.Update()

如果您正在编辑现有记录,则需要在设置字段值后调用rs_view.Update(),您希望更改值。

您需要致电rs_view.Update(),将更改推送到数据库。

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then
   rs_view("Status")="Proceed"
Else
   rs_view("Status")="Stop"
End If
rs_view.Update() %>

&lt; %%&gt;之间的语句将在服务器(IIS)上执行。我建议,你读一下有关服务器端代码执行和放大器之间差异的内容。 &lt; %%&gt;的需要/用法何时使用/不使用它。

答案 2 :(得分:0)

如果没有给定的错误消息,很难知道问题出在哪里。试试这个:

我假设您的CGPAOverall列存储在数字列中。为此,可以安全地转换为double并与数字而不是字符串进行比较。

<%
If cdbl(rs_view.Fields.Item("CGPAOverall").Value) >= 2 Then
  rs_view("Status")="Proceed"
Else
  rs_view("Status")="Stop"
End If
%>

答案 3 :(得分:0)

如果不告诉我们错误信息,就无法解决您的问题。

一种可能性:我看到你的记录集被称为“rs_view”。不确定“rs_view”是来自视图,表还是存储过程......但如果它来自视图,则并非所有视图都是可更新的。

(视图本质上是从一个或多个表创建的固定选择语句,可以包含各种计算列。您无法将对这些计算列的更改保存回数据库,因为它们实际上不是任何表中的列)