我想使用基于某些条件的if语句将数据添加到数据库中..但是我的代码不起作用..需要你的建议。
<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then %>
rs_view("Status")="Proceed"
<% Else %>
rs_view("Status")="Stop"
<% End If %>
我想将结果直接保存到数据库中。我怎样才能做到这一点?无法获得正确的代码。希望你能帮忙。感谢。
答案 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”是来自视图,表还是存储过程......但如果它来自视图,则并非所有视图都是可更新的。
(视图本质上是从一个或多个表创建的固定选择语句,可以包含各种计算列。您无法将对这些计算列的更改保存回数据库,因为它们实际上不是任何表中的列)