新建登陆用户 存储过程? |
尚未結案
|
cqwnl
一般會員 發表:20 回覆:24 積分:8 註冊:2004-10-27 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
剛好我才寫完同樣的功能,請笑納!參考參考吧!
加入使用者及各TABLE權限
----------------------------
with SystemGateWayDataModule do
begin
try
AsistADOConnection.Connected := true;
try
AsistADOCommand.Parameters.Clear;
AsistADOCommand.CommandType := cmdStoredProc;
AsistADOCommand.CommandText := 'sp_addlogin';
AsistADOCommand.Parameters.CreateParameter( '@loginame',ftString,pdInput,30,AccountLabeledEdit.Text);
AsistADOCommand.Parameters.CreateParameter( '@passwd',ftString,pdInput,30,PasswordLabeledEdit.Text);
AsistADOCommand.Parameters.CreateParameter( '@defdb',ftString,pdInput,30,'SystemGateWay');
AsistADOCommand.Prepared := true;
AsistADOCommand.Execute;
except
MessageBox(GetActiveWindow(),'新增使用者發生錯誤!','資料庫錯誤',MB_OK or MB_ICONERROR);
end;
finally
AsistADOConnection.Connected := false;
end;
end; with SystemGateWayDataModule do
begin
try
AsistADOConnection.Connected := true;
try
AsistADOCommand.Parameters.Clear;
AsistADOCommand.CommandType := cmdStoredProc;
AsistADOCommand.CommandText := 'sp_grantdbaccess';
AsistADOCommand.Parameters.CreateParameter( '@loginame',ftString,pdInput,30,AccountLabeledEdit.Text);
AsistADOCommand.Parameters.CreateParameter( '@name_in_db',ftString,pdInput,30,AccountLabeledEdit.Text);
AsistADOCommand.Prepared := true;
AsistADOCommand.Execute; AsistADOCommand.CommandType := cmdText;
AsistADOCommand.CommandText := 'GRANT ALL ON PermissionTable TO ' AccountLabeledEdit.Text;
AsistADOCommand.Execute; AsistADOCommand.CommandType := cmdText;
AsistADOCommand.CommandText := 'GRANT ALL ON SystemInfo TO ' AccountLabeledEdit.Text;
AsistADOCommand.Execute; AsistADOCommand.CommandType := cmdText;
AsistADOCommand.CommandText := 'GRANT ALL ON UserAccount TO ' AccountLabeledEdit.Text;
AsistADOCommand.Execute; except
MessageBox(GetActiveWindow(),'新增使用者權限發生錯誤!','權限錯誤',MB_OK or MB_ICONERROR);
end;
finally
AsistADOConnection.Connected := false;
end;
end;
修改使用者密碼
----------------------------
with SystemGateWayDataModule do
begin
try
AsistADOConnection.Connected := true;
try
AsistADOCommand.Parameters.Clear;
AsistADOCommand.CommandType := cmdStoredProc;
AsistADOCommand.CommandText := 'sp_password';
AsistADOCommand.Parameters.CreateParameter( '@old',ftString,pdInput,30,OldPassword);
AsistADOCommand.Parameters.CreateParameter( '@new',ftString,pdInput,30,PasswordLabeledEdit.Text);
AsistADOCommand.Parameters.CreateParameter( '@loginame',ftString,pdInput,30,AccountLabeledEdit.Text);
AsistADOCommand.Prepared := true;
AsistADOCommand.Execute;
except
MessageBox(GetActiveWindow(),'修改資料發生錯誤!','資料庫錯誤',MB_OK or MB_ICONERROR);
end;
finally
AsistADOConnection.Connected := false;
end;
end; 刪除使用者帳號
----------------------------
with SystemGateWayDataModule do
begin
try
AsistADOConnection.Connected := true;
try
AsistADOCommand.Parameters.Clear;
AsistADOCommand.CommandType := cmdStoredProc;
AsistADOCommand.CommandText := 'sp_revokedbaccess';
AsistADOCommand.Parameters.CreateParameter( '@name_in_db',ftString,pdInput,30,Account);
AsistADOCommand.Prepared := true;
AsistADOCommand.Execute; AsistADOCommand.Parameters.Clear;
AsistADOCommand.CommandType := cmdStoredProc;
AsistADOCommand.CommandText := 'sp_droplogin';
AsistADOCommand.Parameters.CreateParameter( '@loginame',ftString,pdInput,30,Account);
AsistADOCommand.Prepared := true;
AsistADOCommand.Execute;
except
MessageBox(GetActiveWindow(),'刪除資料發生錯誤!','資料庫錯誤',MB_OK or MB_ICONERROR);
end;
finally
AsistADOConnection.Connected := false;
end;
end; -----------------------------------------------
Creation is the fundation of promotion. 發表人 - stallion 於 2005/05/10 20:12:19
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |