29 123
发新话题
打印

程序出错了,大家帮忙看看!!先谢了

11行改成这样就行了
rs.Open sql, conn, 1, 3, adCmdText
请问这是什么原因会这样呢?
麻烦管理员解释一下,我是菜鸟

TOP

基本的recordset操作参数,你找本书看看

Recordset.Open参数说明

语法:
    recordset.Open Source, ActiveConnection, CursorType, LockType, Options

参数说明:
Source                可选,变体型,计算 Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。 ActiveConnection     可选。变体型,计算有效 Connection 对象变量名;或字符串,包含  ConnectionString 参数。
CursorType       可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。
可为下列常量之一(参阅 CursorType 属性可获得这些设置的定义)。
值  常量                 说明
--- ------------------- -----------------------
0   AdOpenForwardOnly   默认值)打开仅向前类型游标。
1   AdOpenKeyset             打开键集类型游标。
2   AdOpenDynamic         打开动态类型游标。
3   AdOpenStatic               打开静态类型游标。

LockType              可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值,可为下列常量之一(参见 LockType 属性可获得详细信息)。
值  常量                                   说明
--- -------------------------------- -----------------------
1   AdLockReadOnly           (默认值)只读 — 不能改变数据。
2   AdLockPessimistic         保守式锁定,提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。
3   AdLockOptimistic            开放式锁定(逐个) — 提供者使用开放式锁定,只在调用Update 方法时才锁定记录。
4   AdLockBatchOptimistic  开放式批更新—用于批更新模式(与立即更新模式相对)。
换个头像,看见广告就眼红,直接封ID。

TOP

数据库更新问题

我数据库中有AA用户名在添加页中添加AA用户名不成功,这里是正常的.
但我在添加页面添加一个新的用户叫"NN"到数据库中,添加成功后,我再添加一个用户又叫NN的,竟然又添加成功了,是不是要更新一下数据库阿?源代码在下面
<!--#include file="conn.asp"-->
<%
sql="select loginuser from account"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,3,adcmdtext
%>
<%
dim rs
if request.Form("txtuser")<>"" and request.Form("txtpwd")<>"" then
    if rs("loginuser")<>request.Form("txtuser") then
       strsql="insert into account(loginuser,userpassword) values('"& trim(request("txtuser")) &"','"& trim(request("txtpwd")) &"')"
       rs=conn.execute(strsql)
       response.Write "注册成功"
    else
       response.Write "用户名已存在!,<a href=regist.asp>返回</a>"
    end if
else
response.Write "请输入用户名或密码!"
end if
conn.close
set conn=nothing
%>

TOP

你在添加新用户的时间,先查看一下用户表里有没有同名用户,有的话提示一下
sql="select loginuser from account"
应当改成
sql="select loginuser from account where username='"& request.Form("txtuser") &"'"
换个头像,看见广告就眼红,直接封ID。

TOP

      Nothing比我有耐心啊。。当老师去吧,会出好学生的。。     

代码要写的漂亮点,,不然别人都不愿看怎么帮你修改啊,,
最好多加注释,注意多用TAB。。。。
现在我们这要求1半代码1半注释的,简单的也要注释(变量强烈要求注释)

建议写VB和ASP是要求(变量强制声明)下。。。

TOP

改了这个sql="select loginuser from account where username='"& request.Form("txtuser") &"'"我添加用户时出错哦!!
我下面已经有判断数据库中的用户名是不是等于输入的用户名了if rs("loginuser")<>request.Form("txtuser") then

[ 本帖最后由 geniusjoy 于 2007-12-17 22:55 编辑 ]

TOP

那个我只是一个示例,具体的还要看你的数据库字段
sql="select loginuser from account where username='"& request.Form("txtuser") &"'"
我只是将loginuser改成了username
你就不能仔细看看?
还有,if rs("loginuser")<>request.Form("txtuser") then 这个判断没有用,只是取数据库里第一条的数据。
我想问一下,你是不是一点基础都没有,如果这样的话,建议你还是买一本书,从头到尾看一遍,感觉你连编程的感觉都没有。
ASP除了编程的基础、HTML、JS外,还需要学习简单的SQL语句、数据库知识。
学编程数据库是最基本的东西。
换个头像,看见广告就眼红,直接封ID。

TOP

我什么都会一点,就是不精通,现在就先精通一样.我是改了
sql="select loginuser from account where loginuser='"& request.Form("txtuser") &"'"
别以为我这么傻照抄下去啊.

TOP

已经成功了.多谢管理员提醒~~!万分感谢,
<%
sql="select loginuser from account where loginuser='"&request.Form("txtuser")&"'"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,3,adcmdtext
%>
<%
if request.Form("txtuser")<>"" and request.Form("txtpwd")<>"" then
       strsql="insert into account(loginuser,userpassword) values('"& trim(request("txtuser")) &"','"& trim(request("txtpwd")) &"')"
       If Not conn.Execute(sql).Eof then
              response.Write"用户名已存在!"
           else
              rs=conn.execute(strsql)
          response.Write "注册成功"
           end if
else
response.Write "请输入用户名或密码!"
end if
conn.close
set conn=nothing
%>
这样写就可以了.

TOP

 29 123
发新话题