|
용준 님이 쓰신 글 :
: void __fastcall TfrmUser2::Button1Click(TObject *Sender)
: {
: AnsiString UserId;
: AnsiString UserName;
: AnsiString Passwordd;
: AnsiString DepartName;
: AnsiString RoleName;
: AnsiString UserPosition;
: AnsiString UserEmail;
: AnsiString UserTel;
: AnsiString UserAddress;
:
: AnsiString str;
:
: UserId = EdtUserId->Text;
: UserName = EdtUserName->Text;
: Passwordd = EdtPassword->Text;
: DepartName = CobDepartName->Text;
: RoleName = CobRoleName->Text;
: UserPosition = CobUserPosition->Text;
: UserEmail = EdtUserEmail->Text;
: UserTel = EdtUserTel->Text;
: UserAddress = EdtUserAddress->Text;
:
: str = "INSERT INTO USIF_User.db";
: str = str + "(UserId_Text, UserName_Text, Password_Text, UserPosition_Text, UserEmail_Text, UserTel_Text, UserAddress_Text)";
: str = str + "VALUES('";
: str = str + UserId;
: str = str + "','";
: str = str + UserName;
: str = str + "','";
: str = str + Passwordd;
: str = str + "','";
: str = str + UserPosition;
: str = str + "','";
: str = str + UserEmail;
: str = str + "','";
: str = str + UserTel;
: str = str + "','";
: str = str + UserAddress;
: str = str + "')";
:
: DataModule3->Query2->Close();
: DataModule3->Query2->SQL->Clear();
: DataModule3->Query2->SQL->Add(str);
: DataModule3->Query2->ExecSQL();
:
: str = "INSERT INTO USIF_Depart.db";
: str = str + "(DepartName_Text)" ;
: str = str + "VALUES('" ;
: str = str + DepartName ;
: str = str + "')" ;
:
:
: DataModule3->Query2->SQL->Clear();
: DataModule3->Query2->SQL->Add(str);
: DataModule3->Query2->ExecSQL();
:
: str = "INSERT INTO USIF_Role.db";
: str = str + "(RoleName_Text)" ;
: str = str + "VALUES('" ;
: str = str + RoleName ;
: str = str + "')" ;
:
: DataModule3->Query2->Close();
: DataModule3->Query2->SQL->Clear();
: DataModule3->Query2->SQL->Add(str);
: DataModule3->Query2->ExecSQL();
:
: AnsiString qryStr;
: AnsiString name;
:
: name = frmUser1->ComboBox1->Text;
:
: qryStr = "";
: qryStr = qryStr +
: " SELECT A.UserId_Text as 운영자ID, " +
: " A.UserName_Text as 운영자명, " +
: " A.Password_Text as 비밀번호, " +
: " B.DepartName_Text as 부서명, " +
: " C.RoleName_Text as 권한명, " +
: " A.UserPosition_Text as 직급, " +
: " A.UserEmail_Text as EMAIL, " +
: " A.UserTel_Text as 연락처, " +
: " A.UserAddress_Text as 주소 " +
: " FROM USIF_User.db A, " +
: " USIF_Depart.db B, " +
: " USIF_Role.db C " +
: " WHERE A.DepartCode_Text = B.DepartCode_Text " +
: " AND A.RoleCode_Text = C.RoleCode_Text " +
: " AND A.UserName_Text LIKE \'%" +
: name +
: "%\' ";
:
: DataModule3->Query2->Close();
: DataModule3->Query2->SQL->Text = qryStr;
: DataModule3->Query2->Open();
:
: }
:
:
:
: 이렇게 저렇게 많이도 해봤는데 도저히 안되는군요.
: 좀 살려 주십시요..머리아파 죽같습니다.
:
: DataModule3->Query2->ExecSQL(); 뒤에서 key violate 라는 에러가 나는군요..
str = "INSERT INTO USIF_User.db";
str = str + "(UserId_Text, UserName_Text, Password_Text, UserPosition_Text, UserEmail_Text, UserTel_Text, UserAddress_Text)";
str = str + "VALUES('";
str = str + UserId;
str = str + "','";
str = str + UserName;
str = str + "','";
str = str + Passwordd;
str = str + "','";
str = str + UserPosition;
str = str + "','";
str = str + UserEmail;
str = str + "','";
str = str + UserTel;
str = str + "','";
str = str + UserAddress;
str = str + "')";
부분에서 제가 카피한 곳 3번째 라인의
str = str + "values('"; 을 str = str+ " values('"; 로 고쳐야 될것 같은데요
디보그에서 한번 보내서
str 값이 어떻게 나타나는지
제가 보기에는 UserAddress_Text)Values("..... 는 인식 할수없는데요
:
:
|