如何讓使用者只能下select命令,而無法使用delete,insert,update? |
尚未結案
|
kartan_01
一般會員 ![]() ![]() 發表:42 回覆:60 積分:20 註冊:2004-12-08 發送簡訊給我 |
我寫了一個可以下SQL語法的小程式
可是該怎麼讓使用者只能select資料出來 無法修改資料庫內的資料?
try ds:=system.Data.DataSet.Create; self.Sql_EXCEL.CommandText:=self.TextBox1.Text; self.SqlDataAdapter1.Fill(ds,'sqlcommand'); self.DataGrid1.SetDataBinding(ds,'sqlcommand'); self.StatusBar1.Text:='共有' ds.Tables['sqlcommand'].Rows.Count.tostring '筆資料'; except on ex: Exception do messagebox.Show(ex.Message,'提示'); end; |
ATEIN
高階會員 ![]() ![]() ![]() ![]() 發表:105 回覆:320 積分:125 註冊:2002-07-05 發送簡訊給我 |
引言: 我寫了一個可以下SQL語法的小程式 可是該怎麼讓使用者只能select資料出來 無法修改資料庫內的資料?try ds:=system.Data.DataSet.Create; self.Sql_EXCEL.CommandText:=self.TextBox1.Text; self.SqlDataAdapter1.Fill(ds,'sqlcommand'); self.DataGrid1.SetDataBinding(ds,'sqlcommand'); self.StatusBar1.Text:='共有' ds.Tables['sqlcommand'].Rows.Count.tostring '筆資料'; except on ex: Exception do messagebox.Show(ex.Message,'提示'); end; 引言: Delph 2005 Migration 筆記 http://huanlin.dyndns.org/michael/category/1.aspx寫錯地方了,SORRY 請使用資料庫的權限控制語言,DCL 即可設定權限 或者到SQL圖形介面中,去設定.亦可 DHM
------
ATEIN |
kartan_01
一般會員 ![]() ![]() 發表:42 回覆:60 積分:20 註冊:2004-12-08 發送簡訊給我 |
|
ATEIN
高階會員 ![]() ![]() ![]() ![]() 發表:105 回覆:320 積分:125 註冊:2002-07-05 發送簡訊給我 |
forExample: switch (e.StatementType) {
case StatementType.Delete:
Debug.WriteLine("Delete Command Finished");
break;
case StatementType.Insert:
Debug.WriteLine("Insert Command Finished");
break;
case StatementType.Update:
Debug.WriteLine("Update Command Finished");
break;
default:
Debug.WriteLine("Unknown Command Finished");
break; private void OnRowUpdating(object sender, OleDbRowUpdatingEventArgs e) {
switch (e.StatementType) {
case StatementType.Delete:
Debug.WriteLine("Delete Command Started");
break;
case StatementType.Insert:
Debug.WriteLine("Insert Command Started");
break;
case StatementType.Update:
Debug.WriteLine("Update Command Started");
break;
default:
Debug.WriteLine("Unknown Command Started");
break;
} DHM
------
ATEIN |
ATEIN
高階會員 ![]() ![]() ![]() ![]() 發表:105 回覆:320 積分:125 註冊:2002-07-05 發送簡訊給我 |
不然也可用DCL控制如下
1.先建立一個權限控制名稱空間及控制類別,可以再使用,直接用sqlcommand控制下達SQL指令
2.EX:
如:ORDER TABLE 裡FIELDS(ODNO,PRICE,CUNO,PDNO)
要可讓 JAME 及 JESS 兩個[更新],[刪除]
請下達以下SQL指令(select/insert/update/delete)
grant ]update,delete on ORDER(ODNO,PRICE,CUNO,PDNO) to JAME,JESS 若希望讓所有人查詢:可下SQL如下
grant select on ORDER to public with grant option 取回使用權限如下:
revoke all on ORDER from JAME ,JESS
取回JAME ,JESS 兩人的使用權限 revoke select on ORDER from JAME ,JESS
取回select 權限 revoke delete on ORDER from JAME ,JESS
取回delete 權限
....
....
類推即可
delete ...可用?號做參數
使用者 ...可用?號做參數... DHM 發表人 - atein 於 2005/04/07 22:42:27
------
ATEIN |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |