




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
101226日:開場白。世紀(jì)ERP系統(tǒng)是一套大部份功能都仿照用友U8.1系列ERP系統(tǒng)開發(fā)的,VB語言+SQL202330M250M,其間也消滅過一些小net2023+SQL2023系統(tǒng),一方面必需B/S要求,另一方通過改造系統(tǒng),把握原系統(tǒng)的技術(shù)要領(lǐng),從而提高在實際應(yīng)用時的應(yīng)變力氣。3-5個月的時間將系統(tǒng)升級成B/S依據(jù)實際應(yīng)用加以改進。SQL2023空的數(shù)據(jù)庫附加導(dǎo)入SQL2023系統(tǒng)。原SQL2023370個數(shù)據(jù)表導(dǎo)入SQL2023成功后消滅以下界面:現(xiàn)在我們先來翻開世紀(jì)ERP系統(tǒng)的總控臺代碼,系統(tǒng)的登陸界面如下:使用過net做網(wǎng)頁的人都知道,這樣的一個界面并不是很難做到:這是Default.aspx首頁總控臺頁面,上面是本單位ERP系統(tǒng)logo母頁版。主體頁面加上背景,再加上鏈接按鈕,即可以做成下面的樣子。在百度中打入“辦公圖標(biāo)”可以找到上面的圖片,上面的是128×12864×64photoshop加上說明文字,在default.aspx網(wǎng)站首頁中參與圖片按鈕imagebutton,然后在在圖片按鈕的imgurl屬性中參與圖標(biāo)文件的位置即可以將圖標(biāo)顯示出來做成以上的樣子。首頁界面做出來以后,我們開頭按挨次將上面的模塊做出來,首先是系統(tǒng)治理。ERP系統(tǒng)的系統(tǒng)治理界面如下:建賬套的實現(xiàn)就是復(fù)制一套空的數(shù)據(jù)庫文件,然后填上要建的帳套的信息即可。我們已經(jīng)有了空數(shù)據(jù)庫文件,只需要在SQL2023中將空數(shù)據(jù)庫文件附加上去就得了,所以我們是手工做這局部工作,沒有用建套帳的功能。我們在附加空數(shù)據(jù)庫之后只需要手工更工帳套信息即可使用帳套,或者設(shè)計一個界面來設(shè)置帳套信息。假設(shè)是系統(tǒng)自己使用建及設(shè)置賬套都可以手工更改數(shù)據(jù)信息表即可,假設(shè)是做一個商業(yè)化系統(tǒng)或者想便利使用,那就需要特地設(shè)計一個建帳套和更改帳套信息的界面了。原系統(tǒng)中帳套參數(shù)設(shè)置的界面如下:確定按鈕的代碼如下:PrivateSubCommand1_Click(IndexAsInteger)DimSsqlAsStringDimiAsIntegerDimaDo_DateAsNewRecordsetOnErrorGoToerror_exitIfIndex=1ThenUnloadMe:ExitSubSsql=“updateHDSystem_DataBasessetCoName=”“&Trim(Text1(0).Text)&“”,“_&“Address=”“&Trim(Text1(1).Text)&“”,Phone=”“&Trim(Text1(2).Text)&“”,qsqj=“&Val(Text3.Text)_&“WHEREDataBasesName=”“&Trim(Text1(0).Tag)&“”“Conn_System.ExecuteSsqlConn_System.Execute“delete“&Trim(Text1(0).Tag)&“.dbo.Gy_kjrlb“aDo_Date.Open“select*from“&Trim(Text1(0).Tag)&“.dbo.Gy_kjrlb“,Conn_System,adOpenStatic,adLockBatchOptimisticWithaDo_DateFori=1To12.AddNew!KjYear=Trim(Text2.Text)!Period=FlexGrid.TextMatrix(i,0)!qsrq=FlexGrid.TextMatrix(i,1)Ifi<12Then !zzrq=DateAdd(“d“,-1,FlexGrid.TextMatrix(i+1,1))Else!zzrq=DateAdd(“d“,-1,DateAdd(“m“,1,FlexGrid.TextMatrix(i,1)))EndIfIfVal(FlexGrid.TextMatrix(i,0))<Val(Text3.Text)Then!cwzzjzbz=1:!Xsjzbz=1!Gdzcjzbz=1:!Kfjzbz=1!chhsjzbz=1:!PMjzbz=11:!CaskJzbz=1EndIfIfVal(FlexGrid.TextMatrix(i,0))=Val(Text3.Text)Then!beginflag=1EndIf.UpdateNext.UpdateBatchadAffectAllChapters.CloseSetaDo_Date=NothingEndWithConn_System.Execute“update“&Text1(0).Tag&“.dbo.Gy_AccInformationsetitemValue=“&DJ_Text.Text&“wheresystemcode=”Cwzz”anditemcode=”cwdjxsws”“Conn_System.Execute“update“&Text1(0).Tag&“.dbo.Gy_AccInformationsetitemValue=“&JE_Text.Text&“wheresystemcode=”Cwzz”anditemcode=”cwjexsws”“Conn_System.Execute“update“&Text1(0).Tag&“.dbo.Gy_AccInformationsetitemValue=“&SL_Text.Text&“wheresystemcode=”Cwzz”anditemcode=”cwslxsws”“UnloadMeExitSuberror_exit:MsgBoxErr.Description,16EndSub以上代碼中紅色字樣為數(shù)據(jù)表名稱,蘭色字樣為相應(yīng)字段名稱。HDSystem_DataBases、Gy_kjrlb、Gy_AccInformation三個表的信息。ERP系統(tǒng)的相關(guān)開發(fā)文檔,了解三個表的構(gòu)造:數(shù)據(jù)庫HDSystem_DataBases字段編碼字段名稱 字段說明數(shù)據(jù)類型主鍵 外鍵DataBasesName數(shù)據(jù)庫名Nvarchar〔18〕YNumber編號Nvarchar(8)CountingRoomName帳套名Nvarchar〔20〕NewDate創(chuàng)立時間datetimeBackupDate備份時間datetimeRestoreDate恢復(fù)時間datetimeServerName數(shù)據(jù)效勞器名Varchar〔30〕DatabaseType數(shù)據(jù)庫類型Varchar〔30〕Ynuse是否啟用Char〔1〕CoName公司名Nvarchar〔50〕Address地址Nvarchar〔50〕PhoneNvarchar〔30〕Qsqj啟用期間int會計日歷Gy_Kjrlb字段編碼字段編碼KjyearPeriodQsrqZzrqBeginFlagCwzzJzbz…字段說明字段屬性會計年度會計期間起始日期終止日期帳套啟用會計期間標(biāo)識財務(wù)總帳結(jié)帳標(biāo)識其他系統(tǒng)結(jié)帳標(biāo)識用系統(tǒng)編碼+Jzbz來標(biāo)識IntIntDatatimeDatatiemBitBitBit系統(tǒng)帳套信息Gy_AccInformation字段編碼字段說明字段屬性SystemCode系統(tǒng)編碼C,10,NNItemCode工程索引編碼C,30ItemName工程名稱NVC,20DataType數(shù)據(jù)類型0.字符型1.整型2.數(shù)值型3.日期型SmallintItemValue用戶設(shè)置值C,30ItemDefault系統(tǒng)缺省值C,30代碼或許的功能意思是:HDSystem_DataBases的公司名、地址、和帳套的啟用日期信息。2Gy_kjrlb中的相關(guān)信息。假設(shè)我們將帳套啟用日期設(shè)置20231月份,經(jīng)過這段代碼之后數(shù)據(jù)表的字段變化如下:Beginflag為true20231系統(tǒng)、銷售系統(tǒng)、固定資產(chǎn)系統(tǒng)、庫存系統(tǒng)等模塊還未開頭啟用。Gy_AccInformation記錄,分別為帳套中的數(shù)量、單價、金額的小數(shù)位數(shù):下面我們就是.net中實現(xiàn)以上的功能。會計日歷表我們手工改動SQL2023數(shù)據(jù)庫就得了,只需要改動一下所需要相應(yīng)HDSystem_DataBasesGy_AccInformation表帳套中的數(shù)量、單價、金額的小數(shù)位數(shù)。首先設(shè)計一下系統(tǒng)治理網(wǎng)頁xtgl.aspx的功能菜單。在網(wǎng)上關(guān)于網(wǎng)頁菜單的樣板琳瑯滿目,我們可以依據(jù)自己的愛好選擇菜單之后加以修改之后利用。在系統(tǒng)治理中要現(xiàn)實更改帳套信息、增加用戶及設(shè)置用戶權(quán)限功能,菜單如下:菜單頁面是放在左面的母頁版中,系統(tǒng)治理要設(shè)計帳套信息、小數(shù)位數(shù)、用戶治理及用戶權(quán)限四個頁面,這四個頁面都是使用同一個菜單母頁版。首先來設(shè)計帳套信息頁面,由于這是第一個菜單工程,所以帳套信息頁面就是系統(tǒng)治理的主界面xtgl.aspx。先放入一個SqlDataSource1控件綁定好數(shù)據(jù)表HDSystem_DataBases:然后在一進入頁面的時候運下以下代碼可以顯示原來的帳套信息:protectedvoid_Load(objectsender,EventArgse){ DataSourceSelectArgumentsds=newDataSourceSelectArguments;DataViewdv=(DataView)this.SqlDataSource1.Select(ds);Label1.Text=Convert.ToString(dv[0][9]);Label2.Text=Convert.ToString(dv[0][10]);Label3.Text=Convert.ToString(dv[0][11]);}Label1、label2、label39、10、11列取知名稱、地址、值顯示以上的界面。當(dāng)按下“保存信息”的按鈕時。執(zhí)行以下代碼:protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionmyconn=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=master“);SqlCommandmycmd=newSqlCommand(“updateHDSystem_DataBasessetCoName=”“+TextBox1.Text+“”,Address=”“+TextBox2.Text+“”,Phone=”“+TextBox3.Text+“”“,myconn);myconn.Open;mycmd.ExecuteNonQuery;myconn.Close;SqlDataSource1.DataBind;DataSourceSelectArgumentsds1=newDataSourceSelectArguments;DataViewdv1=(DataView)this.SqlDataSource1.Select(ds1);Label4.Text=Convert.ToString(dv1[0][9]);Label5.Text=Convert.ToString(dv1[0][10]);Label6.Text=Convert.ToString(dv1[0][11]);}可以得到以下的運行樣子:xtgl.aspx復(fù)制一xswx.aspx進展相關(guān)修改即可:我們先來看一下系統(tǒng)帳套信息表Gy_AccInformation的具體數(shù)據(jù):我們的第一個任務(wù),就是要取得數(shù)據(jù)表中需要更改的單價、金額和數(shù)量的小數(shù)點的位數(shù),也就是數(shù)據(jù)表中紅線的三條數(shù)據(jù)的Itemvalue的值。我們可以用三個SqlDataSource控件分別通過相應(yīng)篩選分別綁定三條記錄,篩選條件就是systemcode=cwzzanditemcode=cwdjxsws等。5列數(shù)據(jù)Itemvalue的值顯示出來即可。所以翻開頁面xswx.aspx的啟動代碼如下即可顯示出要修改的小數(shù)位數(shù):protectedvoid_Load(objectsender,EventArgse){ DataSourceSelectArgumentsds=newDataSourceSelectArguments;DataViewdv=(DataView)this.SqlDataSource1.Select(ds);Label1.Text=Convert.ToString(dv[0][4]);DataSourceSelectArgumentsds2=newDataSourceSelectArguments;DataViewdv2=(DataView)this.SqlDataSource2.Select(ds2);Label2.Text=Convert.ToString(dv2[0][4]);DataSourceSelectArgumentsds3=newDataSourceSelectArguments;DataViewdv3=(DataView)this.SqlDataSource3.Select(ds3);Label3.Text=Convert.ToString(dv3[0][4]); }然后“保存信息”的代碼要分別更三條記錄的Itemvalue的值:protectedvoidButton1_Click(objectsender,EventArgse){ SqlConnectionmyconn=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);=newSqlCommand(“updateGy_AccInformationsetItemValue=”“+TextBox1.Text+“”wheresystemcode=”Cwzz”anditemcode=”cwdjxsws”“,myconn);myconn.Open;mycmd.ExecuteNonQuery;myconn.Close; 將單價位數(shù)更到數(shù)據(jù)表SqlDataSource1.DataBind;DataSourceSelectArgumentsds1=newDataSourceSelectArguments;DataViewdv1=(DataView)this.SqlDataSource1.Select(ds1);Label4.Text=Convert.ToString(dv1[0][4]); 將更后的單價位數(shù)顯示出來SqlConnectionmyconn1=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);=newSqlCommand(“updateGy_AccInformationsetItemValue=”“+TextBox2.Text+“”wheresystemcode=”Cwzz”anditemcode=”cwjexsws”“,myconn1);myconn1.Open;mycmd1.ExecuteNonQuery;myconn1.Close; 將金額位數(shù)更到數(shù)據(jù)表SqlDataSource2.DataBind;DataSourceSelectArgumentsds4=newDataSourceSelectArguments;DataViewdv4=(DataView)this.SqlDataSource2.Select(ds4);Label5.Text=Convert.ToString(dv4[0][4]);將更后的金額位數(shù)顯示出來SqlConnectionmyconn2=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);=newSqlCommand(“updateGy_AccInformationsetItemValue=”“+TextBox3.Text+“”wheresystemcode=”Cwzz”anditemcode=”cwslxsws”“,myconn2);myconn2.Open;mycmd2.ExecuteNonQuery;myconn2.Close; 將數(shù)量位數(shù)更到數(shù)據(jù)表SqlDataSource3.DataBind;DataSourceSelectArgumentsds5=newDataSourceSelectArguments;DataViewdv5=(DataView)this.SqlDataSource3.Select(ds5);Label6.Text=Convert.ToString(dv5[0][4]);將更后的數(shù)量位數(shù)顯示出來}按下“保存信息”的運行結(jié)果為:1227日用戶治理先看一下世紀(jì)ERP系統(tǒng)的用戶治理運作原理。先看用戶治理的界面:翻開這個窗體一啟動時的代碼:PrivateSubForm_ActivateOnErrorGoToerror_exitIfRequery_TF=TrueThenRequery_TF=False:ExitSubDimaDo_GroupAsNewRecordsetDimaDo_UserAsNewRecordsetSetaDo_Group=Conn_System.Execute(“select*from“&ListView1.Tag&“.db.ystem_UserGrou“)ListView2.ListItems.ClearWithaDo_GroupDoWhileNot.EOFSetmitem=ListView2.ListItems.Addmitem.Text=!GroupNamemitem.SmallIcon=“G“mitem.Icon=“G“mitem.SubItems(1)=!Explainmitem.Key=!GroupName.MoveNextLoop.CloseSetaDo_Group=NothingEndWith”------------------SetaDo_User=Conn_System.Execute(“select*from“& ListView1.Tag&“.dbo.Gy_CzyglORDERBYczymc“)ListView1.ListItems.ClearWithaDo_UserDoWhileNot.EOFSetmitem=ListView1.ListItems.Addmitem.Text=!czymcmitem.SmallIcon=“U“mitem.Icon=“U“mitem.SubItems(1)=““&!Explainmitem.Key=“T“&Trim(!czybm).MoveNextLoop.CloseSetaDo_Group=NothingEndWithExitSuberror_exit:MsgBoxErr.Description,16UnloadMeEndSub以上代碼的或許意思就是在上面列表中導(dǎo)入數(shù)據(jù)表.Gy_Czygl的czymc操作員名稱,以及在下面的列表中導(dǎo)入數(shù)據(jù)表System_UserGroup的GroupName組名稱。用戶治理的操作菜單如下:我們先來看一下增用戶的運作,按下增用戶選項,界面如下:增用戶的代碼:IfMe.Tag=“U“OrMe.Tag=“UE“ThenDimUser_idAsStringIfTrim(Text1(0).Text)=““ThenMsgBox用戶名不能為空! “,16:Text1(0).SetFocus:ExitSubIfTrim(Text1(1).Text)<>Trim(Text1(2).Text)ThenMsgBox“口令驗證錯誤! “,16:Text1(2).SetFocus:ExitSubDimaDo_UserRowsAsNewRecordsetIfMe.Tag=“U“ThenSetaDo_UserRows=Conn_System.Execute(“select*from“&SSTab.Tag&“.dbo.Gy_Czyglwhereczymc=”“&Trim(Text1(0).Text)&“”“)IfaDo_UserRows.RecordCount>0ThenMsgBox“用戶名不能重復(fù)! “,16:Text1(0).SetFocus:ExitSub
Frm_GroupUser.UserId=Trim(UserCode.Text)User_id=Trim(UserCode.Text)aDo_UserRows.CloseSsql=“insertinto“&SSTab.Tag&“.dbo.Gy_Czygl(czybm,czymc,czmm,Explain )VALUES(”“_ &User_id&“”,”“&Trim(Text1(0).Text)&“”,”“&Mmjm(Trim(Text1(1).Text))&“”,”“&Trim(Text1(3).Text)&“”)“Conn_System.ExecuteSsqlElseSetaDo_UserRows=Conn_System.Execute(“select*from“&SSTab.Tag&“.dbo.Gy_Czyglwhereczymc=”“&Trim(Text1(0).Text)&“”andczybm<>”“&Mid(Text1(0).Tag,2,Len(Text1(0).Tag))&“”“)IfaDo_UserRows.RecordCount>0ThenMsgBox“用戶名不能重復(fù)! “,16:Text1(0).SetFocus:ExitSub
IfText1(2).Tag=“T“ThenSsql=“update“&SSTab.Tag&“.dbo.Gy_Czyglsetczymc=”“&Trim(Text1(0).Text)&“”,czmm=”“&Mmjm(Trim(Text1(1).Tag))&“”,explain=”“&Trim(Text1(3).Text)_&“”whereczybm=”“&Mid(Text1(0).Tag,2,Len(Text1(0).Tag))&“”“ElseSsql=“update“&SSTab.Tag&“.dbo.Gy_Czyglsetczymc=”“&Trim(Text1(0).Text)&“”,explain=”“&Trim(Text1(3).Text)_&“”whereczybm=”“&Mid(Text1(0).Tag,2,Len(Text1(0).Tag))&“”“EndIfConn_System.ExecuteSsqlUser_id=Mid(Text1(0).Tag,2,Len(Text1(0).Tag))EndIfConn_System.Execute“delete“&SSTab.Tag&“.dbo.System_UserGroupInfowhereUserId=”“&User_id&“”“Fori=0ToList3.ListCount-1Conn_System.Execute “insert into “ & SSTab.Tag &“.dbo.System_UserGroupInfo(GroupId,UserId)VALUES(“&List3.ItemData(i)&“,”“&User_id&“”)“NextFrm_GroupUser.UserGroupName=Trim(Text1(0).Text)Frm_GroupUser.Explain=Trim(Text1(3).Text)EndIf留意上面的紅字及蘭字部份并比照下面的數(shù)據(jù)表:系統(tǒng)操作員治理Gy_Czygl字段編碼CzybmCzymcCzmmXgrqAuthorityIDExplainManagerFlag
字段說明操作員編碼操作員名稱進入系統(tǒng)操作密碼最終一次修改密碼日期操作員權(quán)限備注治理員標(biāo)志
字段屬性C,10,NNNVC,10NVC,60DatatimeVC,5000NVC,40Bit以上說明增操作員的第一步工作就是在Gy_Czygl操作員編碼、操作員名稱、操作員密碼及備注的內(nèi)容。4個方面:1、增用戶。2、修改用戶密碼。3、設(shè)置用戶權(quán)限組。4、設(shè)置每個用戶的權(quán)限。所以現(xiàn)在我們首先完成第一步工作:增用戶。ID來取代。密碼也可以先由系統(tǒng)設(shè)置一個初始密碼先,以后再由用戶自己修改,并且備注好象也不是常常使用,所以沒有必要在增操作員增加一個備注。所以我們現(xiàn)在設(shè)計一個頁面yhgl.aspx用于增用戶,僅僅是由系統(tǒng)自動生成一個用戶ID12修改一下原來的操作員信息表:將原來的操作員編碼czybm改成id,idczyurl列,作用是點擊用戶名時直接進入該用戶的設(shè)置頁面,設(shè)置權(quán)限及密碼等信息?!霸鲇脩簟卑粹o的代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){ if(TextBox1.Text==““){ Label1.Visible=true; Label1.Text=“不能為空“;}假設(shè)錄入為空,則顯示提示“不能為空”Else否則,將錄入名字存入數(shù)據(jù)庫,并提示顯示操作成功{ SqlConnectionmyconn=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);SqlCommandmycmd=newSqlCommand(“insertintoGy_Czygl(Czymc,Czmm)values(”“+TextBox1.Text+“”,123)“,myconn);myconn.Open;mycmd.ExecuteNonQuery;myconn.Close;Label2.Visible=true; Label3.Visible=true;Label4.Visible=true;Label3.Text=TextBox1.Text; }運行結(jié)果如下:增用戶之后,下面設(shè)置一套功能讓用戶可以自己修改登陸密碼。Session[“UserName“]中,修改密碼時,篩選出要修改的操作員名字為Session[“UserName“]的記錄,然后更密碼。我們先來做一個登陸界面:“登陸”按鈕代碼:protectedvoidButton1_Click(objectsender,EventArgse){ Session[“UserName“]=TextBox1.Text.ToString;SqlDataSource1.DataBind; 設(shè)定SqlDataSource1的篩選條件為Session[“UserName“]DataSourceSelectArgumentsds=newDataSourceSelectArguments;DataViewdv=(DataView)this.SqlDataSource1.Select(ds);Label2.TextConvert.ToString(dv[0][2]);在篩選出來的記錄中選中密碼那一列。Int32a=int.Parse(Label2.Text);Int32b=int.Parse(TextBox2.Text);if(a==b) 假設(shè)篩選取的密碼等于錄入的密碼:{ Session[“UserName“]=TextBox1.Text.ToString;Label1.Text=TextBox1.Text.ToString+“已成功登陸!“;Label1.Visible=true; }else{ Label1.Text=“非法用戶!“;Label1.Visible=true; }輸對密碼成功登陸的界面:Session[“UserName“TextBox1.Text.ToString;這句,所以用戶名已存入Session[“UserName“]供用戶治理頁面使用。1231日用戶權(quán)限設(shè)置在用戶治理界面我們放入一個label用于識別當(dāng)前用戶:然后在翻開頁面時運行以下代碼:protectedvoid_Load(objectsender,EventArgse){ Label7.Text=Session[“UserName“].ToString; }運行界面:再在頁面中參與修改密碼的控件:“修改密碼”按鈕的代碼:protectedvoidButton2_Click(objectsender,EventArgse){ myconn1=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);SqlCommandmycmd1=newSqlCommand(“updateGy_CzyglsetCzmm=”“+TextBox2.Text+“”whereCzymc=”“+Label7.Text+“”“,myconn1); 更密碼myconn1.Open;mycmd1.ExecuteNonQuery;myconn1.Close;Label5.Visibletrue;顯示密碼修改成功的信息}運行結(jié)果:以下我們開頭進展用戶權(quán)限設(shè)置。首先我們先來了解一下用戶權(quán)限表Xt_Xtgnb的數(shù)據(jù)架構(gòu),我們在世紀(jì)ERP系統(tǒng)的設(shè)計文檔中沒有覺察有對這個表的說明。所以只能翻開這個表查看數(shù)據(jù)來理解這個表的各個字段作用:只能或許估量它的意思,gnbm為權(quán)限的分級編碼,gnsy為權(quán)限的代碼,gnmcmenulist應(yīng)當(dāng)是菜單列表,rightflag可能是子菜單標(biāo)記。ERP系統(tǒng)中,這個數(shù)據(jù)表Xt_Xtgnb1361條記錄。0911日用戶權(quán)限設(shè)置ERP系統(tǒng)的用戶權(quán)限界面如下:現(xiàn)在我們首先要把這個權(quán)限設(shè)置的界面仿出來先,然后再造數(shù)據(jù)處理。先看左邊的菜單列表,我們預(yù)備使用原來母頁版的菜單式樣,然后手功錄入菜單項,雖然可以使用自動依據(jù)數(shù)據(jù)表生成的菜單列表,但由于一二級菜單項不是很多,我們也覺得用原來的菜單列表比較美觀一點,所以使用原來的菜單進展修改使用。翻開權(quán)限功能表Xt_Xtgnb,把一級功能找出來,使用以下篩選代碼:SELECT id,gnbm,gnsy,gnmc,gnms,sjgnbm,mjbz,MenuList,RightFlagFROM Xt_XtgnbWHERE (sjgnbm=””)ORDERBYgnbm篩選結(jié)果:按上面的工程手工錄入一級菜單之后運行界面如下:在數(shù)據(jù)表Xt_Xtgnb中篩選取出二級項名目手工錄入子菜單末級編碼mjbz=false:手工依據(jù)上表錄入菜單子項之后運行界面如下:以上菜單的圖標(biāo)都可以通過網(wǎng)上下載共性圖標(biāo)修改。下面我們先來做財務(wù)系統(tǒng)的“根底設(shè)置”菜單項的內(nèi)容。Xt_Xtgnb查找同“根底設(shè)置”有關(guān)的內(nèi)容為以下紅線部份。建一個網(wǎng)頁cwzz_jcsz.aspx個列表將上面的紅線部份內(nèi)容篩選取出來,網(wǎng)頁界面如下:ERP1000項,而每個用戶的權(quán)限記錄,Gy_Czygl01來記錄在字段AuthorityID中:1000100001。ERP01存入操作員Gy_Czygl中的,由于這些代碼運作比較簡潔,具體是怎么實現(xiàn)的我們不知道,所以我們嘗試用我們的思路去解決這個問題。我們的思路是在權(quán)限表中參與一個userlist字段用于臨時記錄用戶的權(quán)限:Gy_Czygl中AuthorityID01全部讀出來放入xtgnb的userlist然后在設(shè)用戶權(quán)限中打勾之后,將這些勾轉(zhuǎn)化成為0和1保存在xtgnb的userlist01Gy_CzyglAuthorityID中去?,F(xiàn)在我們首先來截取y_Czygl中AuthorityID字段字串的第一個數(shù)值。在網(wǎng)頁cwzz_jcsz.aspx中參與兩個標(biāo)簽label2、label3及一個數(shù)據(jù)連接控件sqldatasource2:sqldatasource2同操作員信息表y_CzyglAuthorityID信息顯示在下面的label3中去:用戶的第一個權(quán)限為0,其次、三個權(quán)限為1。protectedvoidButton2_Click(objectsender,EventArgse){ Label2.Text=Label3.Text.Substring(0,1); }意思是截取第一個權(quán)限代碼,運行結(jié)果:假設(shè)要截取頭五位權(quán)限代碼:protectedvoidButton2_Click(objectsender,EventArgse){ Label2.Text=Label3.Text.Substring(0,5); }運行結(jié)果:現(xiàn)在要設(shè)置一個循環(huán)語句,按挨次向label3分別抽數(shù),并且每抽一個0或者1,就要將其填入xtgnbuserlist字段中。我們觀看權(quán)限信息表xtgnb可以知道,有些數(shù)據(jù)工程是不能設(shè)置權(quán)限的,例如010101mjbz字段,只有這個字段為true01的標(biāo)志放入操作員權(quán)限信息表中,原世紀(jì)ERP系統(tǒng)的權(quán)限信息表xtgnb有1361111601,即操作員信息表中的AuthorityID1116011116個功能進展操作。從上圖可以看出,現(xiàn)在我們已經(jīng)將某個操作員的AuthorityID字段的信息抽取出01xtgnbuserlist字段1116〔為那些不行以操作〔為fals。我們的思路是,將這1116個權(quán)限每個工程都加上一個編號,從11116,每個0101依次是從AuthorityID1116個字符串中依次抽取出來的〔字符串已在上面label3中顯示出來。我們編寫代碼測試一下上面的思路的運作過程:protectedvoidButton2_Click(objectsender,EventArgse){ inta=1;for(inti=0;i<1115;i++) 在權(quán)限表中從1到1116導(dǎo)入權(quán)限{ Label4.Text=a.ToString;Label2.Text=Label3.Text.Substring(i,1);if(Label2.Text==“0“){SqlConnectionmyconn=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);mycmd=newSqlCommand(“updateXt_Xtgnbsetuserlist=”false”wheremjid=”“+Label4.Text+“”“,myconn);myconn.Open;mycmd.ExecuteNonQuery;myconn.Close; } 當(dāng)要導(dǎo)入的字符串為0時,更權(quán)限信息為false.else{ SqlConnectionmyconn1=newSqlConnection(“datasource=localhost;userid=sa;pwd=;database=newerp“);SqlCommandmycmd1=newSqlCommand(“updateXt_Xtgnbsetuserlist=”true”wheremjid=”“+Label4.Text+“”“,myconn1);myconn1.Open;mycmd1.ExecuteNonQuery;myconn1.Close;} 當(dāng)要導(dǎo)入的字符串為1時,更權(quán)限信息為true.aa1;mjid加上1進入下一條記錄的更。}SqlDataSource1.DataBind; 數(shù)據(jù)源重綁定。GridView1.DataBind; 表格刷顯示。}以上代碼運行界面如下:當(dāng)要設(shè)置Managertrue當(dāng)要設(shè)置到具體某個人白鳳英的信息時,導(dǎo)入權(quán)限信息后顯示:表中“原來用戶權(quán)限”列表總是和上面的一長串0和1相對應(yīng)的。以上的測試代碼是按下“截取字符串“按鈕時的測試代碼,當(dāng)上面的代碼放入頁面的啟動代碼時,頁面一啟動時就會自動顯示要設(shè)置權(quán)限的操作員的原來權(quán)限信息,便于用戶在修改操作員權(quán)限是參照使用。假設(shè)直接參與一個模板列,直接雙向綁定xtgnb的userlist字段,就不用參與以上啟動的代碼:了經(jīng)修改代碼及界面后,一翻開這個權(quán)限設(shè)置頁面,不用任何操作,自動導(dǎo)入要設(shè)置的操作員的權(quán)限信息:以下我們再來設(shè)計修改用戶權(quán)限的代碼。運作思路:先把勾選取的設(shè)用戶權(quán)限信息保存在xtgnb的userlist字段中,再01字符串的形式保存在操作員信息表Czygl的AuthorityID字段中去。首先要先把勾選取的設(shè)用戶權(quán)限信息保存在xtgnb的userlist字段中限”按鈕的代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){ for(inti0;iGridView1.Rows.Count1;i++)GridView1每行一次動作{ CheckBoxcbox1=(CheckBox)GridView1.Rows[i].FindControl(“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)訂單收購合同范本
- 茶葉采購與銷售合同樣本
- 無子女離婚法律合同文本
- 正式勞動合同書范本合同
- 家居用品采購及安裝合同范本
- 8安全記心上-119的警示(第3課時)(教學(xué)設(shè)計)2023-2024學(xué)年統(tǒng)編版道德與法治三年級上冊
- 10古詩三首《石灰吟》《竹石》教學(xué)設(shè)計-2023-2024學(xué)年六年級語文下冊統(tǒng)編版
- 人事管理合同樣本大全
- 6《景陽岡》教學(xué)設(shè)計-2023-2024學(xué)年語文五年級下冊統(tǒng)編版
- 個人保證貸款合同范本
- 2025年幾內(nèi)亞水泥廠項目投資可行性報告
- 口腔門診分診流程
- 2025年春新外研版(三起)英語三年級下冊課件 Unit2第1課時Startup
- 2025年上半年天津市寧河區(qū)事業(yè)單位招聘12人重點基礎(chǔ)提升(共500題)附帶答案詳解-1
- 心肺復(fù)蘇課件
- 2024-2030年“一帶一路”背景下中國鐵塊礦產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報告
- 鋼包熱修工安全技術(shù)操作規(guī)程(3篇)
- 風(fēng)力發(fā)電廠土建工程施工組織設(shè)計
- 2024年云南省公務(wù)員錄用考試《行測》真題卷及答案解析
- 成人缺氧缺血性腦病護理
- 期末提優(yōu)測試卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)青島版
評論
0/150
提交評論