回 帖 发 新 帖 刷新版面

主题:关于数据库插入的问题

<!--#include file="conn.asp" -->
<%
dim sql
dim rs
dim username
dim name
dim uname 
dim password  
dim tt
    username=request.form("username")
    uname = request.form("name")
    sql ="select * from users where username='"&username&"'"
    set rs =server.CreateObject("adodb.recordset")
    rs.open sql,conn,1,1
    if rs.RecordCount > 1 then    
    %>
        <script language=javascript>
            <!--
            alert("用户名已存在!");
            window.history.back();
            //-->
        </script>
    <%
    else 
        password = request.form("password")
        tt = request.form("type")
        sql="insert into users(username , password , type , uname) values('"&username&"' , '"&password&"' , '"&tt&"' , '"&uname&"')"
        conn.execute(sql)
        session("username") = username
        session("name") = uname
        session("type") = request.form("type")
        response.Redirect "mainfraim.asp"
        set rs = nothing
        rs.close
    end if
    conn.close
%>

我用这段话插入数据库时 总是会出现如下错误
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]违反了 PRIMARY KEY 约束 'PK_users'。不能在对象 'users' 中插入重复键。
/jwgl/usersave.asp, 第 28 行

我很不明白为什么会错,哪位好心人帮我看看啊

回复列表 (共4个回复)

沙发

sql="insert into [users]([username] , [password] , [type] , uname) values('"&username&"' , '"&password&"' , '"&tt&"' , '"&uname&"')"
改成这样试试

板凳


谢谢 不过我的还是不行呢,改了就第一次是对的,接下来又出现同样的问题了

3 楼

[Microsoft][ODBC SQL Server Driver][SQL Server]违反了 PRIMARY KEY 约束 'PK_users'。不能在对象 'users' 中插入重复键。

你有个字段设了主键,不能插入重复的值!请自查!

4 楼

因为你的"password" 和"type"都是关键字所以不能插入,
[color=FF0000]注意:如果有关键字的sql语句中要用[]扩起来![/color][em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册