Q&A

  • 델파이코팅으로 mysql 권한줄때 password 쓰는법? 불가능인가요?
델파이에 에디트 박스 두개를 만들고

하나는 유저아이디.. edit1.text

하나는 암호를 받는 에디트 입니다.. edit2.text



이렇게 만든폼에 사용자가 원하는 id 와 pass 를 넣습니다..

그럼 sql 디비에 아이디와 패스가 저정되게 하는법입니다..

아래와 같이 했더니 다른건 문제가 없는데 패스워드 필드로 가보면 암호가 아니라 edit2.text 에서 넣었던 글자 그대로 저장이 되는군요...



마이에스큐엘 에서

mysql> insert into user .... 이렇게 해서 유저와 패스를 넣은뒤 [만약 password('777');] 게 넣었다고 가정할때 패스워드 필드로 가보면 넣었던 암호가 777 이아니고 이상한 문자조합으로 나타나잖아요...



델파이에서 sql구문슬때 패스함수(password(' ') ) 놈을 써야 할거 같은데 도무지 코딩을 어떻게 해야하나요?





제가 한 델파이에서 코딩입니다 암호 777 넣으면 패스 필드에 777 이라고 나옴...

도와주세요 일주일째 진도가 안나갑니다..

불가능한가요 에스큐엘이아닌 델파이에서 권한을 준다는게??



procedure TForm1.Button1Click(Sender: TObject);

>

> begin

> with query1 do

> begin

> close;

> sql.Clear;

> sql.Add('insert into user');

> sql.Add('(host,user,password)');

> sql.Add('values');

> sql.Add('(:host,:user,:password)');

> ParamByName('host').AsString := '%';

> ParamByName('user').AsString := edit1.text;

> ParamByName('password').AsString := edit2.text;

> execsql;

> close;

> end;

3  COMMENTS
  • Profile
    항아 2001.12.01 11:57
    사고뭉치 wrote:

    > 델파이에 에디트 박스 두개를 만들고

    > 하나는 유저아이디.. edit1.text

    > 하나는 암호를 받는 에디트 입니다.. edit2.text

    >

    > 이렇게 만든폼에 사용자가 원하는 id 와 pass 를 넣습니다..

    > 그럼 sql 디비에 아이디와 패스가 저정되게 하는법입니다..

    > 아래와 같이 했더니 다른건 문제가 없는데 패스워드 필드로 가보면 암호가 아니라 edit2.text 에서 넣었던 글자 그대로 저장이 되는군요...

    >

    > 마이에스큐엘 에서

    > mysql> insert into user .... 이렇게 해서 유저와 패스를 넣은뒤 [만약 password('777');] 게 넣었다고 가정할때 패스워드 필드로 가보면 넣었던 암호가 777 이아니고 이상한 문자조합으로 나타나잖아요...

    >

    > 델파이에서 sql구문슬때 패스함수(password(' ') ) 놈을 써야 할거 같은데 도무지 코딩을 어떻게 해야하나요?

    >

    >

    > 제가 한 델파이에서 코딩입니다 암호 777 넣으면 패스 필드에 777 이라고 나옴...

    > 도와주세요 일주일째 진도가 안나갑니다..

    > 불가능한가요 에스큐엘이아닌 델파이에서 권한을 준다는게??

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > >

    > > begin

    > > with query1 do

    > > begin

    > > close;

    > > sql.Clear;

    > > sql.Add('insert into user');

    > > sql.Add('(host,user,password)');

    > > sql.Add('values');

    > > sql.Add('(:host,:user,:password)');

    > > ParamByName('host').AsString := '%';

    > > ParamByName('user').AsString := edit1.text;

    > > ParamByName('password').AsString := edit2.text;

    > > execsql;

    > > close;

    > > end;



    정확할지는 모르지만 이런 방법을 사용해 봐여..

    mysql패스워드 변경시에 .. password = password('777') 이렇게 해야 ...

    패스워드가 암호화 되서 들어가거든여...

    sql.add(format('insert into user(host, user, passwd=passwd(pass)) values(''%s'', ''%s'', ''%s'')',

    ['localhost', edit1.text, edit2.text]));



  • Profile
    사고뭉치 2001.12.02 11:43
    죄송합니다 사고무치입니다..

    컴파일에서는애러가 안나는데 에디트박스에 넣고 확인누르니..



    genersl sql error

    [TCX][MYSQL] You have error in yot sql syntax near 'user(hist,user,paswd(pass)) vales('%','9999','11111') at line 1.

    이런에러가 나요..

    안되는건가요?





    항아 wrote:

    > 사고뭉치 wrote:

    > > 델파이에 에디트 박스 두개를 만들고

    > > 하나는 유저아이디.. edit1.text

    > > 하나는 암호를 받는 에디트 입니다.. edit2.text

    > >

    > > 이렇게 만든폼에 사용자가 원하는 id 와 pass 를 넣습니다..

    > > 그럼 sql 디비에 아이디와 패스가 저정되게 하는법입니다..

    > > 아래와 같이 했더니 다른건 문제가 없는데 패스워드 필드로 가보면 암호가 아니라 edit2.text 에서 넣었던 글자 그대로 저장이 되는군요...

    > >

    > > 마이에스큐엘 에서

    > > mysql> insert into user .... 이렇게 해서 유저와 패스를 넣은뒤 [만약 password('777');] 게 넣었다고 가정할때 패스워드 필드로 가보면 넣었던 암호가 777 이아니고 이상한 문자조합으로 나타나잖아요...

    > >

    > > 델파이에서 sql구문슬때 패스함수(password(' ') ) 놈을 써야 할거 같은데 도무지 코딩을 어떻게 해야하나요?

    > >

    > >

    > > 제가 한 델파이에서 코딩입니다 암호 777 넣으면 패스 필드에 777 이라고 나옴...

    > > 도와주세요 일주일째 진도가 안나갑니다..

    > > 불가능한가요 에스큐엘이아닌 델파이에서 권한을 준다는게??

    > >

    > > procedure TForm1.Button1Click(Sender: TObject);

    > > >

    > > > begin

    > > > with query1 do

    > > > begin

    > > > close;

    > > > sql.Clear;

    > > > sql.Add('insert into user');

    > > > sql.Add('(host,user,password)');

    > > > sql.Add('values');

    > > > sql.Add('(:host,:user,:password)');

    > > > ParamByName('host').AsString := '%';

    > > > ParamByName('user').AsString := edit1.text;

    > > > ParamByName('password').AsString := edit2.text;

    > > > execsql;

    > > > close;

    > > > end;

    >

    > 정확할지는 모르지만 이런 방법을 사용해 봐여..

    > mysql패스워드 변경시에 .. password = password('777') 이렇게 해야 ...

    > 패스워드가 암호화 되서 들어가거든여...

    > sql.add(format('insert into user(host, user, passwd=passwd(pass)) values(''%s'', ''%s'', ''%s'')',

    > ['localhost', edit1.text, edit2.text]));

    >

  • Profile
    이걱저것 2001.12.13 23:15
    mysql의 형식은 이렇습니다.

    insert into user (host,user,password) values ('host','user',password('****'));

    mysql 의 user 등록 형식 입니다. 참고하시면 쉽게 풀수 있을 것입니다.





    사고뭉치 wrote:

    > 죄송합니다 사고무치입니다..

    > 컴파일에서는애러가 안나는데 에디트박스에 넣고 확인누르니..

    >

    > genersl sql error

    > [TCX][MYSQL] You have error in yot sql syntax near 'user(hist,user,paswd(pass)) vales('%','9999','11111') at line 1.

    > 이런에러가 나요..

    > 안되는건가요?

    >

    >

    > 항아 wrote:

    > > 사고뭉치 wrote:

    > > > 델파이에 에디트 박스 두개를 만들고

    > > > 하나는 유저아이디.. edit1.text

    > > > 하나는 암호를 받는 에디트 입니다.. edit2.text

    > > >

    > > > 이렇게 만든폼에 사용자가 원하는 id 와 pass 를 넣습니다..

    > > > 그럼 sql 디비에 아이디와 패스가 저정되게 하는법입니다..

    > > > 아래와 같이 했더니 다른건 문제가 없는데 패스워드 필드로 가보면 암호가 아니라 edit2.text 에서 넣었던 글자 그대로 저장이 되는군요...

    > > >

    > > > 마이에스큐엘 에서

    > > > mysql> insert into user .... 이렇게 해서 유저와 패스를 넣은뒤 [만약 password('777');] 게 넣었다고 가정할때 패스워드 필드로 가보면 넣었던 암호가 777 이아니고 이상한 문자조합으로 나타나잖아요...

    > > >

    > > > 델파이에서 sql구문슬때 패스함수(password(' ') ) 놈을 써야 할거 같은데 도무지 코딩을 어떻게 해야하나요?

    > > >

    > > >

    > > > 제가 한 델파이에서 코딩입니다 암호 777 넣으면 패스 필드에 777 이라고 나옴...

    > > > 도와주세요 일주일째 진도가 안나갑니다..

    > > > 불가능한가요 에스큐엘이아닌 델파이에서 권한을 준다는게??

    > > >

    > > > procedure TForm1.Button1Click(Sender: TObject);

    > > > >

    > > > > begin

    > > > > with query1 do

    > > > > begin

    > > > > close;

    > > > > sql.Clear;

    > > > > sql.Add('insert into user');

    > > > > sql.Add('(host,user,password)');

    > > > > sql.Add('values');

    > > > > sql.Add('(:host,:user,:password)');

    > > > > ParamByName('host').AsString := '%';

    > > > > ParamByName('user').AsString := edit1.text;

    > > > > ParamByName('password').AsString := edit2.text;

    > > > > execsql;

    > > > > close;

    > > > > end;

    > >

    > > 정확할지는 모르지만 이런 방법을 사용해 봐여..

    > > mysql패스워드 변경시에 .. password = password('777') 이렇게 해야 ...

    > > 패스워드가 암호화 되서 들어가거든여...

    > > sql.add(format('insert into user(host, user, passwd=passwd(pass)) values(''%s'', ''%s'', ''%s'')',

    > > ['localhost', edit1.text, edit2.text]));

    > >