묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
asp 급한 질문입니다.
2005.05.27 14:40
로그인 부분에서 자꾸 이런 오류 메세지가 나는데여
Microsoft OLE DB Provider for SQL Server (0x80040E2F)
PRIMARY KEY 제약 조건 'PK_member'을(를) 위반했습니다. 'Members' 개체에 중복 키를 삽입할 수 없습니다.
/mem/RegMemProc.asp, line 42(아래 asp코드의 objDBConn.Execute strSQL, affected부분 입니다.)
//디비생성 부분입니다.
CREATE TABLE Members(
UID varchar(12) NOT NULL
CONSTRAINT PK_member PRIMARY KEY CLUSTERED,
UPwd varchar(14) NOT NULL,
UName varchar(14) NOT NULL,
USsn char(13) NOT NULL,
UEmail varchar(30) NOT NULL,
UAddr varchar(200) NOT NULL,
UPhone char(15) NOT NULL,
UCellPhone char(15) NULL,
URegdate datetime NOT NULL
CONSTRAINT DF_member_regdate DEFAULT(getdate()),
UserLevel varchar(20) NOT NULL
CONSTRAINT DF_Members_UserLebel DEFAULT('User')
)
// objDBConn.Execute strSQL, affected부분이 자꾸 에러가 나는데 도저히 어디가 잘못되었는지 모르겠습니다. 고수님들의 답변 부탁드립니다.
//RegMemProc.asp 파일
<%OPTION EXPLICIT
'----------------------------------회원 등록 처리-----------------------------------
'1. 전송된 값 변수에 저장
'2. DB에 연결
'3. 질의문 생성
'4. DB에 질의문 전송
'5. 개체 소멸
'6. 회원 등록 완료 페이지로 이동
'-----------------------------------------------------------------------------------
'1
Dim uid,pwd,name,ssn,email,addr,phone, cell
uid = Request("uid")
pwd = Request("pwd1")
name = Request("name")
ssn = Request("ssn1") & Request("ssn2")
email = Request("email")
addr = Request("addr1") & " " & Request("addr2")
phone = Request("phone1") & "-" & Request("phone2") & "-" & Request("phone3")
cell = REquest("cell1") & "-" & Request("cell2") & "-" & Request("cell3")
'+ '+ '2
Dim objDBConn, strSQL, strConn, affected
Set objDBConn = Server.CreateObject("ADODB.Connection")
strConn="Provider=SQLOLEDB.1;Data Source=박영찬;Initial Catalog=ASP;User ID=sa;password=1"
'strConn = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=ASP;User ID=sa;Password=1"
objDBConn.Open strConn
'3
strSQL = "INSERT INTO Members (uid, upwd, uname, ussn, uemail, uaddr, uphone, ucellphone) " & _
"VALUES ('" & uid & "', '" & _
pwd & "', '" & _
name & "', '" & _
ssn & "', '" & _
email & "', '" & _
addr & "', '" & _
phone & "', '" & _
cell & "')"
'4
objDBConn.Execute strSQL, affected
objDBConn.Close
Set objDBConn = Nothing
'5
If affected<>0Then
Session("uid") = uid
Session("uname") = name
Session("UserLevel") = "User"
Response.Redirect "RegMemOK.asp?uid=" & uid
Else
Response.Write "<script>alert('회원등록에 실패했습니다.');history.back;</script>"
End If
%>
Microsoft OLE DB Provider for SQL Server (0x80040E2F)
PRIMARY KEY 제약 조건 'PK_member'을(를) 위반했습니다. 'Members' 개체에 중복 키를 삽입할 수 없습니다.
/mem/RegMemProc.asp, line 42(아래 asp코드의 objDBConn.Execute strSQL, affected부분 입니다.)
//디비생성 부분입니다.
CREATE TABLE Members(
UID varchar(12) NOT NULL
CONSTRAINT PK_member PRIMARY KEY CLUSTERED,
UPwd varchar(14) NOT NULL,
UName varchar(14) NOT NULL,
USsn char(13) NOT NULL,
UEmail varchar(30) NOT NULL,
UAddr varchar(200) NOT NULL,
UPhone char(15) NOT NULL,
UCellPhone char(15) NULL,
URegdate datetime NOT NULL
CONSTRAINT DF_member_regdate DEFAULT(getdate()),
UserLevel varchar(20) NOT NULL
CONSTRAINT DF_Members_UserLebel DEFAULT('User')
)
// objDBConn.Execute strSQL, affected부분이 자꾸 에러가 나는데 도저히 어디가 잘못되었는지 모르겠습니다. 고수님들의 답변 부탁드립니다.
//RegMemProc.asp 파일
<%OPTION EXPLICIT
'----------------------------------회원 등록 처리-----------------------------------
'1. 전송된 값 변수에 저장
'2. DB에 연결
'3. 질의문 생성
'4. DB에 질의문 전송
'5. 개체 소멸
'6. 회원 등록 완료 페이지로 이동
'-----------------------------------------------------------------------------------
'1
Dim uid,pwd,name,ssn,email,addr,phone, cell
uid = Request("uid")
pwd = Request("pwd1")
name = Request("name")
ssn = Request("ssn1") & Request("ssn2")
email = Request("email")
addr = Request("addr1") & " " & Request("addr2")
phone = Request("phone1") & "-" & Request("phone2") & "-" & Request("phone3")
cell = REquest("cell1") & "-" & Request("cell2") & "-" & Request("cell3")
'+ '+ '2
Dim objDBConn, strSQL, strConn, affected
Set objDBConn = Server.CreateObject("ADODB.Connection")
strConn="Provider=SQLOLEDB.1;Data Source=박영찬;Initial Catalog=ASP;User ID=sa;password=1"
'strConn = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=ASP;User ID=sa;Password=1"
objDBConn.Open strConn
'3
strSQL = "INSERT INTO Members (uid, upwd, uname, ussn, uemail, uaddr, uphone, ucellphone) " & _
"VALUES ('" & uid & "', '" & _
pwd & "', '" & _
name & "', '" & _
ssn & "', '" & _
email & "', '" & _
addr & "', '" & _
phone & "', '" & _
cell & "')"
'4
objDBConn.Execute strSQL, affected
objDBConn.Close
Set objDBConn = Nothing
'5
If affected<>0Then
Session("uid") = uid
Session("uname") = name
Session("UserLevel") = "User"
Response.Redirect "RegMemOK.asp?uid=" & uid
Else
Response.Write "<script>alert('회원등록에 실패했습니다.');history.back;</script>"
End If
%>