當前位置:首頁 » 存儲配置 » aspnet存儲過程分頁

aspnet存儲過程分頁

發布時間: 2024-10-08 08:01:47

1. ASP.NET常見錯誤大全

檢測到有潛在危險的 Request Form 值

原因:

( )在提交數據的頁面或webconfig中沒有對validateRequest的屬性進行正確的設置

( )HTML裡面寫了轎爛旅兩個<form>引起

解決:

方案一 在 aspx文件頭中加入這句 <%@ Page validateRequest= false %>

方案二 修改nfig文件:

<configuration>

<system web>

<pages validateRequest= false />

</system web>

</configuration>

因為validateRequest默認值為true 只要設為false即可

在沒有任何數據時進行無效的讀取嘗試 解決辦法

原因

所返回的sqldatareader無數據記錄 但沒有作記錄判斷力處理 返回的是空值

加上判斷即可 if (reader read()) { TextName Text =

reader[ FieldName ] ToString(); }

數據為空 不能對空值調用此方法或屬性

原因:

若對象是null 那麼調用對象的方法例如ToString()肯定出錯一般是數歷宴據庫欄位的值為空

在grideview等閉凳數據控制項常出現

解決:因此建議作NULL處理

閱讀器關閉時 FieldCount 的嘗試無效

原因:

使用了SqlDataReader來綁定數據後 將connection對象作了Close()處理

類似

public SqlDataReader GetSomething()

{

conn open();

SqlDataReader reader =

sqlcmd ExcecutReader(CommandBehavior CloseConnection));

conn close();// occur error here

return reader;

}

在綁定的時候調用了這個方法來指定數據源 如果使用這個方法則需要在調用函數中關閉Re

ader這樣conn就可以自動關閉

如果是使用的是SqlDataAdapter和DataSet那麼請去掉顯式關閉conn的調用 或者在finally

中調用之

未能映射路徑

原因:可能是在webconfig中的路徑配置不正確所致 在FCKEditor的配置中這種問題比較突出

<add key= FCKeditor:BasePath value= ~/admin/fckeditor/ />

<add key= FCKeditor:UserFilesPath value= /UserFiles/ />

Unreachable code detected

原因

一般是在異常處理理或返回值時使用了 throw 或return 可能是其位置放在前面 造成後面的代碼執行到了

解決

把相關的異常拋出處理的語句(throw)或return 的語句放到代理執行的最後一行

索引超出范圍 必須為非負值並小於集合大小

原因

( ) 沒有設置DATAKEYFIELD設為資料庫中相對應的唯一欄位(一般是主鍵)

( ) DataGrid Columns > e Item Cells

解決

( ) 設置datakeyfield

( ) 加入判斷語句unt (datagrid可以是其它相類似的伺服器控制項)

數據源不支持伺服器端的數據分頁

解決方法:

不要使用DataReader 改成使用DataSet 或使用自定義分頁形式 不採用提供的分頁功能

OleDbDataAdapter da = new OleDbDataAdapter(sql connection);

DataSet ds = new DataSet();

da Fill(ds News );

GridView DataSource = ds ;

GridView DataBind();

對象名 ***** 無效

原因:當前使用的資料庫中沒有*****這張表

解決: 查看是否程序中是否寫錯了所調用的表的名稱或看一下SQL資料庫中是否存在你所調用的表

在建立與伺服器的連接時出錯 在連接到 SQL Server 時 在默認的設置下 SQL

Server 不允許進行遠程連接可能會導致此失敗 (provider: 命名管道提供程序

error: 無法打開到 SQL Server 的連接)

solution: 主機上需要用固定的IP地址或伺服器地址

SqlDateTime 溢出 必須介於 / / : : AM 和 / / : : PM

之間

出現這種問題``多半是因為你更新資料庫時``datetime欄位值為空``默認插入 年 月

日``造成datetime類型溢出

出現 表示 屬性 此處應為 方法

原因:

VB與c#的方法 屬性的格式有所不一樣導致

可能是在design中綁定數據的語法出現錯誤 解決: 記住屬性用[] 方法用()

記住綁定數據的正確語法(有以下幾種方式::<%Container DataItem( 欄位名 )%> <%

#Eval( 欄位名 )%> <%Bind( 欄位名 )%>等)

未能從程序集 DAL Version= Culture=neutral

PublicKeyToken=null 中載入類型 DAL SqlHelper

原因:修改了其他層後未能重新編譯成dll

解決:編譯一下(Rebuild)

為過程或函數 指定的參數太多

solution:調用存儲過程與定義的存儲過程所用的參數數量或所執行的SQL語句中所傳入的參

數個數不一致(這是個SQL的錯誤)

解決方案:仔細檢查在存儲過程中所設定的參數變數 與實際輸入的參數值是否一一對應

無法啟動調試 綁定句柄無效

原因:系統的Terminal Services沒有開啟

Unable to debugging on the web server Debug failed because integrated windows authentication is not enable

解決方法:

打開vs >工具(Tools) >選項(Option) >調試(debugging) >編輯並繼續(Edit and Continue) >全部打勾

Automation 操作中文件名或類名未找到: RegExp

解決方法:regsvr vbscript dll

System NullReferenceException: 未將對象引用設置到對象的實例

原因:

( )所設置的變數為空值或沒有取到值 一般出現在傳遞參數的時候出現這個問題 也會在使用datagrid或gridview或datalist等數據控制項時出現

( )控制項名稱與codebehind裡面的沒有對應

( )未用new初始化對象

( )在程序中所引用的控制項不存在

解決方法:

( )使用try catch finally捕捉錯誤 或直接用response write()輸出所取的變數值

( )查看代碼中是否存在未初始化的變數

錯誤 文件被數字簽名策略拒絕(安裝vs sp 時)解決方法:

( ) 單擊 開始 單擊 運行 鍵入 control admintools 然後單擊 確定

( ) 雙擊 本地安全策略

( ) 單擊 軟體限制策略 (注意 如果未列出軟體限制 請右擊 軟體限制策略 然後單擊 新建策略 )

( ) 在 對象類型 下 雙擊 強制

( ) 單擊 除本地管理員以外的所有用戶 然後單擊 確定

( ) 重新啟動計算機

微軟說明

vs 不能從源文件模式切換到視圖模式

解決方法:dos下運行下 devenv /resetskippkgs (win+r cmd)

Validation of viewstate MAC failed

解決辦法:頁面的頂部page加 EnableViewState= False EnableViewStateMac = False 來解決這個問題

Automation server can t create object (Automation 伺服器不能創建)

解決辦法:運行: Regsvr scrrun dll 即可

包載入失敗

未能正確載入包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF }

解決方法:

設置系統變數 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夾下創建文件ActivityLog xml

Error

Microsoft Visual Studio

LoadLibrary failed for package [Visual Web Developer Trident Designer Package]

{ AE E B C D E F A AEFF }

e

c:Program FilesMicrosoft Visual Studio Common Packages ridsn dll

從 WINNTMicroSoft NETFrameworkv xxx 復制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夾下

在命令行下運行命令 devenv /resetskippkgs

Error spawning cmd exe

解決方案:把cmd exe 拷貝到VS安裝目錄下的VC/BIN目錄里 可以解決問題

嘗試讀取或寫入受保護的內存

解決:硬體有問題 一般內存有問題

無法在證書存儲區中找到清單簽名證書

解決方法:用記事本打開項目的 csproj文件 刪除類似

該項目中不存在目標 ResolveKeySource

原因:這個問題很罕見 查詢國外相關資料後 大致說是由於部署的不是一個標準的solution 需要在VS自帶的命令提示中運行下面這個東西恢復

解決方法:

( ) 將下列代碼存為XML文件 命名為TestBuild xml

<Project DefaultTargets= Build xmlns= >

<PropertyGroup>

<TargetConnectionString>Data Source= sql % BUser ID=SqlUser% BPooling=False% BPassword=X</TargetConnectionString>

</PropertyGroup>

<ItemGroup>

<DatabaseProject Include= Database Database dbproj />

<DatabaseProject Include= Database Database dbproj />

</ItemGroup>

<Target Name= BuildAllDatabaseProjects >

<MSBuild

Properties= TargetConnectionString=$(TargetConnectionString)

Projects= @(DatabaseProject)

Targets= Build;Deploy >

</MSBuild>

</Target>

( )在命令提示中運行:m *** uild /t:BuildAllDatabaseProjects TestBuild xml

</Project>

不能將值 NULL 插入列 **

原因:這是資料庫表設計的錯誤 所涉及的表的欄位中設置了不能為空的屬性 但是傳入的值為null 所以報錯

解決方法:查看是否所傳入的值是否為Null 或修改資料庫中表的所對應的列的屬性

未能載入類型 命名空間 類

原因:

( )項目修改後沒有進行編譯

( )項目中原有的命名空間可能被修改了

( )項目中所需要的ascx或其他頁面不存在 或不包含在項目中

解決方法:

( )在修改完成之後 請重新生成或編譯整個項目或解決方案

( )手工修改所改動的命名空間 注意名稱的大小寫 再重新編譯

( )將相關的文件包含在項目中

不能訪問只讀文件 **** ***

解決方案:

給虛擬目錄所對應的文件加上 Everyone/寫入 許可權即可

請求因 HTTP 狀態 失敗 Access Denied解決方法:在iis信息伺服器上把匿名訪問和允許iis控制密碼給勾上

有一個無效 SelectedValue 因為它不在項目列表中

原因

( )在沒有綁DropDownList之前就給DropDownList SelectedValue 賦值

( )dropdownlist中出現了null值

無法在 已存在的情況下創建/影像復制該文件

解決方案 重新編譯項目(多個project全部重新編譯) 關閉vs 重新打開 必要時重新啟動機子

用戶 CASPNET 登錄失敗登錄失敗

異常詳細信息: System Data SqlClient SqlException: 用戶 COOASPNET 登錄失敗

這是怎麼回事啊?

因為你的程序連接SQLServer的連接字元串是用了windows集成登陸 你可以改成用資料庫帳號密碼登陸 連接字元串的寫法是

server=localhost;uid=sa;pwd=xxxx;database=master;

server是資料庫伺服器的機器名或者IP 如果是同一台機可以用localhost

uid是資料庫登陸帳號

pwd是資料庫密碼

database是資料庫初始owner名稱

答案

右擊桌面我的電腦 選擇 管理 雙擊打開的 計算機管理 對話框中的 本地用戶和組 下的 組 在右邊的窗口中雙擊 Remote Desktop Users 組 在打開的 Remote Desktop Users 屬性對話框中 單擊添加 在打開的 添加用戶 對話框中單擊 高級 再單擊 立即查找 按鈕 在 搜索 結果中 雙擊ASPNET(如果是IIS NEOR SERVERCE )再點擊兩次確定完成添加 用戶

單擊 開始 所有程序 Microsoft SQL Server 企業管理器 在打開的 控制台根目錄 選擇相應的資料庫 右擊該資料庫的中的 用戶 選擇 新建資料庫用戶 在 新建用戶 對話 框中點擊 登陸名 右側的下拉列表框 選擇 新建 打開 新建登陸對話框 點擊名稱右側的 省略號按鈕 在打開的對話框中將 列出的名稱 中選擇 本機的名稱 再在下面的名稱框中選定 Remote Desktop Users 然後點擊 成員 按鈕 雙擊 ASPNET(如果是IIS NEOR SERVERCE ) 然後點擊確定 在 新建登陸對話 框 中的默認設置的 資料庫 選項中選擇相應的資料庫名稱 再在 資料庫訪問 選項下勾選相應 的資料庫點擊確定 完成將默認的匿名用戶添加到SQL

用戶 nt authority eork service 登錄失敗

> sqlserver 調成sql server 和windows驗證模式

>

(以下方法僅供參考)

第一步 把 NT AUTHORITYNEORK SERVICE 添加到Administrator組中

我的電腦 >右鍵 >管理 >本地用戶和組

選擇 組 >雙擊Administrators >單擊 添加 >單擊 高級 >單擊 立即查找 >在下面的列表中選擇Neork Service用戶 >兩次單擊 確定 >加入

第二步 在企業管理器中加入NetWord Service用戶

打開Sql Server企業管理器 >選擇資料庫實例 >打開 安全性 節點 >選擇 登錄 >在右邊的列表中單擊右鍵 >選擇 新建登錄 >在 常規 選項卡中單擊 名稱 旁邊的按鈕 >選擇 Administrators 組 >單擊下面的 成員 按鈕 >選擇 Neork Service >單擊 添加 按鈕 >單擊 確定 返回 新建登錄 對話框 >保證身份驗證類型為 windows驗證 和 允許訪問 >單擊 確定 >關閉 企業管理器

第三步

重新運行程序 資料庫連接字元串選擇windows驗證即可

> 在sqlserver中添加帳戶或IIS_WPG工作組

此方法來自於

未能載入視圖狀態 正在向其中載入視圖狀態的控制項樹必須與前一請求期間用於保存視圖狀態的控制項樹相匹配 例如 當以動態方式添加控制項時 在回發期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配

原因 viewstate的在作用是將控制項的狀態保存 在下次Post給伺服器 伺服器進行恢復控制項的狀態 (控制項的狀態包括 值和事件 )

解決方法

( )每一個UserControl的viewstate都改為false

( )加入這個

this Page EnableViewState = false;

此方法來源於 _astar/archive/ / / /l

由於啟動用戶實例的進程時出錯 導致無法生成 SQL Server 的用戶實例 該連接將關閉

問題原因

這是微軟的bug 並且微軟已經承認 詳情如下

出現此錯誤的條件是 你用過遠程桌面連接 並且安裝了SQL +VS 就有很大可能觸發這個問題 微軟說會在將來的XP SP 裡面解決掉這個問題

解決

ID= &SiteID=

如果你看不懂英文 那麼我告訴你我的解決辦法

刪除C:Documents and Settings[USERNAME]Local SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS目錄即可 [USERNAME]是Windows用戶名 比如說Administrator

此問題來於

Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable Please hit the Refresh button in your web browser to retry your request

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server Please review this log entry to discover what caused this error to occur

解決

如果你運行WinXP/IIS 為了給ASPNET工作進程訪問你的web工程文件夾的權力請到網站文件所在的目錄 右鍵一級文件夾 選Security-Add-鍵入 ASPNET 點擊OK或點擊Check Names 如果彈出對話框提示 Name not Found 則應點擊Locations改變位置到本機計算機名 點擊OK 分配此用戶許可權為 Full Control 點擊OK

錯誤變為

You are not authorized to view this page

You do not have permission to view this directory or page using the credentials you supplied

解決

在IIS里右鍵此虛擬目錄-Properties-Directory Security-Edit 勾選上Integrated Windows authentication即可

超時時間已到 超時時間已到 但是尚未從池中獲取連接 出現這種情況可能是因為所有池連接均在使用 並且達到了最大池大小

可能原因如下 並發操作 Connection用後沒有關閉 或者因為DataReader連接獨占連接

解決方法

修改幾個關鍵頁面或訪問比較頻繁的資料庫訪問操作 使用DataAdapter和DataSet來獲取資料庫數據 不要使用DataReader

在訪問資料庫的頁面上使用數據緩存 如果頁面的數據不是經常更新(幾分鍾更新一次)的話 使用Cache對象可以不用訪問資料庫而使用緩存中的內容 那麼可以大大減少連接數量

修改代碼 把使用Connection對象的地方都在Close()後面加上Dispose()調用

建議對資料庫操作進行大的修改 建立自己的資料庫操作代理類 繼承System IDisposable介面 強迫釋放資源 這樣就不會出現連接數量不夠的問題了

包載入失敗

未能正確載入包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF } 請與包供應商聯系以獲得幫助 由於可能會發生環境損壞 建議重新啟動應用程序 要禁止將來將來載入此包嗎?可以使用 devenv reswetskippkgs 重新啟用包載入

每次開機打開vs 都會有這個提示 煩

於是在google了一下 發現很多方法都試過了 只有一個解決一試就行

解決方法如下:

設置系統變數 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夾下創建文件ActivityLog xml

從 WINNTMicroSoft NETFrameworkv xxx 復制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夾下

在命令行下運行命令 devenv /resetskippkgs

注:發現此問題只有在win 會出現 win 就不會出現這個問題

用戶 xxxASPNET登錄失敗

第一步

把 NT AUTHORITY NetWORK SERVICE 添加到Administrator組中

我的電腦 >右鍵 >管理 >本地用戶和組

選擇 組 >雙擊Administrators >單擊 添加 >單擊 高級 >單擊 立即查找 >在下面的列表中選 Neork Service用戶 >兩次單擊 確定 >加入

第二步 在企業管理器中加 Neork Service用戶

打開Sql Server企業管理器 >選擇資料庫實例 >打開 安全性 節點 >選擇 登錄 >在右邊的列表中單擊右鍵 >選擇 新建登錄 >在 常規 選項卡中單擊 名稱 旁邊的按鈕 >選擇 Administrators 組 >單擊下面的 成員 按鈕 >選擇 Neork Service >單擊 添加 按鈕 >單擊 確定 返回 新建登錄 對話框 >保證身份驗證類型為 windows驗證 和 允許訪問 >單擊 確定 >關閉 企業管理器

第三步

重新運行asp Net程序 資料庫連接字元串選擇windows驗證即可

以上針對win 如果是win 加ASp Net用戶

無法在 已存在的情況下創建/影像復制該文件

解決方法 重新編譯整個項目 或者重啟電腦

Could not create an environment: OCIEnvCreate returned

解決方案一

主要是將oracle主目錄oracle的讀寫許可權賦予或者是IUSER_ 和IWAM_ 重啟計算機

解決二:

打開在IIS中的WEB屬性--主目錄--執行許可權【改為-腳本和可執行文件】

-應用程序池【改為-MSSharePointAppPool】 刷新OK

解決三:

文件夾許可權可以不用管

設置ORACLE_HOME變數的方法如下

控制面板>>系統>>高級>>環境變數>>系統變數>>新建系統變數

變數名寫ORACLE_HOME

變數值添實際的ORACLE_HOME路徑 在注冊表中有

由於目標機器積極拒絕 無法連接

在添加完引用後 用localhost替換掉所有的localhost: 重新編譯

能載入視圖狀態 正在向其中載入視圖狀態的控制項樹必須與前一請求期間用於保存視圖狀態的控制項樹相匹配 例如 當以動態方式添加控制項時 在回發期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配

解決 在頁面的 Page 項添加 EnableViewState= false 即可

在以下方法或屬性之間的調用不明確 method 和 method

因隱式轉換的緣故 編譯器無法調用重載方法的某種形式 可以用以下方法糾正該錯誤

以不發生隱式轉換的方式指定此方法的參數

移除此方法的所有重載

在調用方法之前 強制轉換到正確的類型

在應用程序級別以外使用注冊為 allowDefinition= MachineToApplication

解決 在網站對應的虛擬目錄上右鍵 選屬性 然後在應用程序名後點創建 名字隨便填

[子目錄不會繼承上級的屬性 所以要將aspx文件所在的目錄屬性設置正確]

無法識別的配置節 connectionStrings

原因

用vs 開發的應用程序需要使 framework 而在iis中的默環境是 這時將發生不可識別的節點的問題

解決辦法

環境升級為 開始-》運行-》cmd-》

C:WINDOWSMicrosoft NETFrameworkv aspnet_regiis exe i

Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

Description: An unhandled exception occurred ring the execution of the current web request Please review the stack trace for more information about the error and where it originated in the code

Exception Details: System InvalidOperationException: Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

主要原因可能有

使用了連接池 大量的sqlconnection用了後忘記關閘門 導致SQL佔用嚴重 可以用 exec sp_who 這個存儲過程查看一下

連接池的連接數有所限制

解決方法:

釋放連接池 調用Connection對象的Close()方法關閉資料庫連接

利用try catch finally對資料庫連接進行異常處理 當無法連接資料庫時將拋出異常 並顯示出錯信息 見catch代碼塊所示 在此程序中 無論是否發生異常 都可以通過finally區塊關閉資料庫的連接 從而節省計算機資源

將SqlConnection對象包含到using區塊中 這樣程序會自動調用Dispose()方法釋放SqlConnection對象所佔用的系統資源 無需再使用SqlConnection對象的Close()方法

指定min pool size表示連接池允許的最小連接數(默認為 ) 下面的代碼指定了SqlConnection對象的max pool size為 min pool size為

lishixin/Article/program/net/201311/11175

2. 求一個sql存儲過程分頁。支持多表聯合查詢,模糊查詢!

可以加個游標 使用更方便

@PageCount bigint output,--總頁數
@Pages bigint output --當前頁
as
if @Pages<=0 --判斷頁數
set @Pages=1
declare @指針定位 bigint
set @指針定位=9*(@Pages-1)--這個是每頁10條

declare @hid bigint,--獲取定位Id 主要是用自增值判斷的
@余數 bigint--存余數 這個余數是 記錄數/10 餘下的數

select @PageCount=count(*) from [表] where [Id] = @Id
set @余數=@PageCount%10 --這里的@PageCount 是記錄總數
if @余數>0
set @PageCount=@PageCount/10+1 --這里的@PageCount是總頁數
else
set @PageCount=@PageCount/5 --這里的@PageCount是總頁數
if @Pages>@PageCount --@Pages是當前頁
set @Pages=@PageCount

declare mycur scroll cursor for
select [Id] from [表] where [Id] = @Id
open mycur
fetch absolute @指針定位 from mycur into @hid --@hid獲取定位Id
if @hid is null
set @hid=0

SELECT TOP 10 * --這里的10 是指 頁數大小
FROM 表
WHERE (Id NOT IN --------在where後面 可以加條件 如where [列1]=2 and (Id NOT IN-----
(SELECT TOP (@hid) Id
FROM 表
ORDER BY Id))
ORDER BY Id
--上面的是我根據下面的 自己改的 我也不確定速度快否 也請高手看看 不過挺好用--

SELECT TOP 頁大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP (頁大小*(頁數-1)) id
FROM 表
ORDER BY id))
ORDER BY ID
這是我自己整理的 你仔細看看 很好用的

3. 動軟代碼生成器的功能說明

一鍵自動生成各種代碼,可以節省大量的時間來做業務邏輯的代碼,那些重復的代碼就交給它去做吧,1分鍾生成一個架構所有的基本代碼。有了它開發項目的效率簡直輕松多了。
自動生成三層架構的完整項目和代碼:簡單三層結構;基於工廠模式三層架構;自定義結構模版
自動生成ASPNET頁面和cs後台代碼
自動生成父子表的(事務)的代碼
可以自定義代碼生成的頁面模板,批量生成項目代碼。 可以自定義手工選擇生成的欄位。
可以自由設定命名空間和實體類名。
自動生成方法屬性注釋。
支持對表和視圖的代碼生成。
支持對多種類型資料庫生成代碼:如SQLServer2000/2008、Oracle、MySQL、OleDb等。
可以生成多種不同類型數據層代碼,例如: 基於SQL字元串方式,基於Parameter方式和基於存儲過程方式的數據層。 支持SQL Server2005/2008、Oracle、MySQL、OleDb四種類型的資料庫同時管理。
實現類似SQLServer2008的查詢分析器的功能,方便平常在代碼編輯的時候想查看資料庫的信息,並且可以很直觀的查看欄位類型,長度,主鍵,默認值等詳細信息,省去了在代碼和資料庫管理器之間的來回切換,方便快捷。
同時支持表的重命名,刪除,數據瀏覽等常用操作。 實現類似SQLServer2008的查詢分析器的功能,方便編寫代碼時想進行數據查詢。
實現執行選中部分SQL語句。
實現關鍵字高亮。
支持F5快捷鍵執行語句。
實現打開現有腳本,保存當前腳本功能。
實現錯誤檢測提示功能。 免費提供數據訪問類庫組件,頁面數據校驗等等通用函數類庫源碼。 你也可以自己進行類庫完善封裝與全球用戶分享.

4. 代碼中使用aspnet_User表需要用到什麼引用

1.先做成實體類。即model層。欄位封裝好之後。在DAL裡面導入命名空間就可以用。

2.如果你問的不是這個問題,那麼應該指的是VS直接連接資料庫,然後代碼裡面引用表結構。

這個就需要用到LINQ了。VS2008集成的有LINQ。

如果你是VS2008,那麼就很簡單了。

首先,用VS連接資料庫,(伺服器資源管理器--右鍵資料庫連接---添加連接--MicrosoftSqlServer--後面的呢自己輸了。。。)

連接好之後。

1.右鍵你解決方案下面的網站,然後選擇「添加新項」,在打開的對話框中找到「LINQtoSQL類」添加進來。

2.他會提示你添加到APP_Code文件夾下面,這些都不用管。你只管到左邊你已經添加好的資料庫中找到你想要添加的表。

3.打開你添加的「LINQ」名字你一般不要修改,叫「DataClasses.dbml」,雙擊打開,把選好的表拖進去。這樣引用表就完成了,下面是讓他自動生成方法。

4.把你想要對表的操作寫成存儲過程,然後把存儲過程直接拖到右側,我下面給你的例子左邊有3張拖進去的表,右邊有3個拖進去的存儲過程。拖好之後,記住保存。

5.最後,你會發現「DataClasses.dbml」下面有一個類:「DataClasses.designer.cs」這個裡面就是他根據你的表還有存儲過程生成的代碼,類似DAL層,但是他裡面還有你的表的實體,欄位的封裝,方法統統都有,屬於是3層的融合,它裡面有自己的一些獨特屬性,你可以研究研究。

6.等所有操作完成之後,你在類裡面引入命名空間,然後就調用方法就可以了。。真的很方便,下面我給你貼一張圖,你看看。然後底下是自動生成的代碼其中的一小段,因為我用了3長表,代碼太多,只貼一段代碼給你看。

#pragmawarningdisable1591

//------------------------------------------------------------------------------

//<auto-generated>

//此代碼由工具生成。

//運行庫版本:2.0.50727.3603

//

//對此文件的更改可能會導致不正確的行為,並且如果

//重新生成代碼,這些更改將會丟失。

//</auto-generated>

//------------------------------------------------------------------------------

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Data.Linq;

usingSystem.Data.Linq.Mapping;

usingSystem.Linq;

usingSystem.Linq.Expressions;

usingSystem.Reflection;

[System.Data.Linq.Mapping.DatabaseAttribute(Name="PropertyHome")]

:System.Data.Linq.DataContext

{

privatestaticSystem.Data.Linq.Mapping.MappingSourcemappingSource=newAttributeMappingSource();

#

partialvoidOnCreated();

partialvoidInsertT_PH_UserEstinfo(T_PH_UserEstinfoinstance);

partialvoidUpdateT_PH_UserEstinfo(T_PH_UserEstinfoinstance);

partialvoidDeleteT_PH_UserEstinfo(T_PH_UserEstinfoinstance);

#endregion

publicDataClassesDataContext():

base(global::System.Configuration.ConfigurationManager.ConnectionStrings["PropertyHomeConnectionString"].ConnectionString,mappingSource)

{

OnCreated();

}

publicDataClassesDataContext(stringconnection):

base(connection,mappingSource)

{

OnCreated();

}

publicDataClassesDataContext(System.Data.IDbConnectionconnection):

base(connection,mappingSource)

{

OnCreated();

}

publicDataClassesDataContext(stringconnection,System.Data.Linq.Mapping.MappingSourcemappingSource):

base(connection,mappingSource)

{

OnCreated();

}

publicDataClassesDataContext(System.Data.IDbConnectionconnection,System.Data.Linq.Mapping.MappingSourcemappingSource):

base(connection,mappingSource)

{

OnCreated();

}

publicSystem.Data.Linq.Table<agent_score>agent_score

{

get

{

returnthis.GetTable<agent_score>();

}

}

publicSystem.Data.Linq.Table<estinfo>estinfo

{

get

{

returnthis.GetTable<estinfo>();

}

}

publicSystem.Data.Linq.Table<T_PH_UserEstinfo>T_PH_UserEstinfo

{

get

{

returnthis.GetTable<T_PH_UserEstinfo>();

}

}

[Function(Name="dbo.PA_GetEstByCode")]

publicISingleResult<PA_GetEstByCodeResult>PA_GetEstByCode([Parameter(DbType="VarChar(50)")]stringestCode,[Parameter(Name="Type",DbType="Int")]System.Nullable<int>type)

{

IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),estCode,type);

return((ISingleResult<PA_GetEstByCodeResult>)(result.ReturnValue));

}

[Function(Name="dbo.PA_GetPlate")]

publicISingleResult<PA_GetPlateResult>PA_GetPlate([Parameter(DbType="Int")]System.Nullable<int>op_no,[Parameter(DbType="Int")]System.Nullable<int>page,[Parameter(DbType="Int")]System.Nullable<int>rows,[Parameter(DbType="VarChar(50)")]stringuserid,[Parameter(DbType="VarChar(50)")]stringestName)

{

IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),op_no,page,rows,userid,estName);

return((ISingleResult<PA_GetPlateResult>)(result.ReturnValue));

}

[Function(Name="dbo.PA_GetEstInfoByName")]

publicISingleResult<PA_GetEstInfoByNameResult>PA_GetEstInfoByName([Parameter(DbType="VarChar(50)")]stringestName,[Parameter(DbType="VarChar(50)")]stringstfID,[Parameter(DbType="Int")]System.Nullable<int>page,[Parameter(DbType="Int")]System.Nullable<int>rows,[Parameter(Name="Type",DbType="Int")]System.Nullable<int>type)

{

IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),estName,stfID,page,rows,type);

return((ISingleResult<PA_GetEstInfoByNameResult>)(result.ReturnValue));

}

}

[Table(Name="dbo.agent_score")]

publicpartialclassagent_score

{

privatestring_AgentNo;

privatestring_AgentCName;

privatestring_AgentName;

privatestring_AgentMobile;

privatestring_AgentEmail;

privatestring_AgentLicense;

privatestring_BranchCName;

privateSystem.Nullable<int>_post_counter;

privatestring_agentphoto;

privatestring_Agentpage;

privatestring_enquirypage;

privatestring_scpid;

privatestring_scpMkt;

privatestring_scp_c;

privateSystem.Nullable<double>_agentscore;

privateSystem.Nullable<double>_agentscore1;

privateSystem.Nullable<double>_agentscore2;

privateSystem.Nullable<double>_agentscore3;

privateSystem.Nullable<double>_agentscore4;

privateSystem.Nullable<double>_agentscore5;

privateSystem.Nullable<double>_agentscore6;

publicagent_score()

{

}

[Column(Storage="_AgentNo",DbType="NVarChar(10)NOTNULL",CanBeNull=false)]

publicstringAgentNo

{

get

{

returnthis._AgentNo;

}

set

{

if((this._AgentNo!=value))

{

this._AgentNo=value;

}

}

}

[Column(Storage="_AgentCName",DbType="NVarChar(50)")]

publicstringAgentCName

{

get

{

returnthis._AgentCName;

}

set

{

if((this._AgentCName!=value))

{

this._AgentCName=value;

}

}

}

。。。其它的操作看你自己咯~~~

謝謝,望採納,我很辛苦啊,,,呵呵。。

5. 如何進行C#連接Access資料庫的細節操作

許多學者總會面對於資料庫的知識,以下的例子講述到Access資料庫說明,用C#的DataSet類訪問資料庫的一些操作方法。


操作涉及的主要C#類有:
DataSet:對應資料庫表的一個集合,實際上是資料庫表在內存中的一個緩存
DataTable:對應資料庫表,是資料庫錶行的集合
DataRow:對應資料庫錶行
OleDbConnection:建立資料庫連接
OleDbDataAdapter:由資料庫生成DataSet,並負責DataSet與資料庫的同步
OleDbCommandBuilder:生成更新資料庫所需的指令www.kmxxfk.com

DataSet、DataTable、DataRow用於數據在緩存中的操作,這上面的操作只有更新到資料庫中,修改結果才會被永久保存。OleDbConnection 是用OLEDB方法連接資料庫所必需的。OleDbDataAdapter和OleDbCommandBuilder用來生成DataSet,完成資料庫更新。與OleDbDataAdapter和OleDbCommandBuilder相對應,SqlDataAdapter和SqlCommandBuilder也可以完成用SQL語言為指令的資料庫更新。

假設在D:盤創建了Access資料庫,其路徑為d:\0DBAcs\account.mdb,資料庫中有一張名為kai的資料庫表。表結構如下:
表名;Kai
欄位Field Name類型說明
1開支IDkzID長整型自動編號
2開支人Kzren文本50字元
3開支項目名kzname文本50字元
4日期riqi日期/時間99-99-99;0掩碼
5開支說明shuoming文本225字元
6總金額zonge單精度小數點任意;這項開支的總花費
7數量shuliang長整型www.kmxxfc.com
8單價Danjia單精度小數點任意

表建好之後:(1)對表中添加新數據(2)查詢表中的某個欄位。為了實現這兩項功能,以下幾個問題要考慮:
1准備工作
聲明必須的公共變數
建立與資料庫的連接,創建DataSet對象
2添加記錄
在DataSet對象上添加記錄
同步DataSet對象對象與資料庫中的數據,這一點很重要,很多人忘記了數據進行同步,結果往往是添加、修改的數據不能保存到資料庫中。
3查詢資料庫表中某記錄的某欄位;

我們可以將上述功能用一個類DataOper實現,下面是程序設計的主要活動。
聲明要用的C#系統類
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

聲明DataOper類中的公共變數
private string DBlocation;
private OleDbConnection dbconn; //資料庫連接
private OleDbDataAdapter da;

建立與資料庫的連接,這里採用了OLEDB方法:
dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=d:\0DBAcs\account.mdb");
dbconn.Open();

創建DataSet對象
da = new OleDbDataAdapter(@"select * from kai", dbconn); //引用資料庫連接dbconn並依據SQL語句"select * from kai"創建OleDbDataAdapter對象da
DataSet ds = new DataSet(); //創建DataSet對象
da.Fill(ds); //用OleDbDataAdapter對象da填充、更新剛創建的DataSet對象

添加記錄並更新資料庫
OleDbCommandBuilder cb = new OleDbCommandBuilder(da); // 創建OleDbCommandBuilder對象cb用於更新OleDbDataAdapter對象da的Insert、Delete、Update指令
da.UpdateCommand = cb.GetUpdateCommand(); //更新OleDbDataAdapter對象da的指令
設計人員可以編寫自己的更新指令,也可以象上面所寫的那樣用系統默認的指令。但不管怎樣,上面的語句不能缺少,否則程序在運行中會拋出異常System.InvalidOperationException,並提示:Update requires a valid InsertCommand when passed DataRow collection with new rows.


DataRow drx = ds.Tables[0].NewRow(); //創建一條新記錄行

drx["kzren"] = "kzren";
drx["kzname"]="kzname";
drx["riqi"]=2008-10-11;
drx["shuoming"]="shuoming";
drx["zonge"] = 12;
drx["shuliang"] = 3;
drx["danjia"] = 4;
ds.Tables[0].Rows.Add(drx); //在表中追加記錄
da.Update(ds); //更新資料庫

要查詢引用某記錄的某欄位,直接按如下的方法引用就可以了。
String kx=ds.Tables[0].Rows[0]["kzren"].ToString()連接access
首先看一個例子代碼片斷:
程序代碼:www.lzfsk.com/
--------------------------------------------------------------------------------
using system.data;
using system.data.oledb;
......
string strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data source=c:\begas.Net\northwind.mdb";
oledbconnection objconnection=new oledbconnection(strconnection);
......
objconnection.open();
objconnection.close();
......
--------------------------------------------------------------------------------
解釋:
連接access資料庫需要導入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的!
strconnection這個變數里存放的是連接資料庫所需要的連接字元串,他指定了要使用的數據提供者和要使用的數據源.
"provider=microsoft.jet.oledb.4.0;"是指數據提供者,這里使用的是microsoft jet引擎,也就是access中的數據引擎,ASP.net就是靠這個和access的資料庫連接的.
"data source=c:\begaspnet\northwind.mdb"是指明數據源的位置,他的標准形式是"data source=mydrive:mypath\myfile.mdb".
ps:
1."+="後面的"@"符號是防止將後面字元串中的"\"解析為轉義字元.
2.如果要連接的資料庫文件和當前文件在同一個目錄下,還可以使用如下的方法連接:
strconnection+="data source=";
strconnection+=mappath("northwind.mdb");
這樣就可以省得你寫一大堆東西了!
3.要注意連接字元串中的參數之間要用分號來分隔.
"oledbconnection objconnection=new oledbconnection(strconnection);"這一句是利用定義好的連接字元串來建立了一個鏈接對象,以後對資料庫的操作我們都要和這個對象打交道.
"objconnection.open();"這用來打開連接.至此,與access資料庫的連接完成.其餘操作(插入,刪除...)請參閱相關書籍
連接SQL Server
例子代碼片斷:
程序代碼:

--------------------------------------------------------------------------------
using system.data;
using system.data.sqlclient;
...
string strconnection="user id=sa;passWord=;";
strconnection+="initial catalog=northwind;server=yoursqlserver;";
strconnection+="connect timeout=30";
sqlconnection objconnection=new sqlconnection(strconnection);
...
objconnection.open();
objconnection.close();
...
--------------------------------------------------------------------------------
解釋:
連接sql server資料庫的機制與連接access的機制沒有什麼太大的區別,只是改變了connection對象和連接字元串中的不同參數.
首先,連接sql server使用的命名空間不是"system.data.oledb",而是"system.data.sqlclient".
其次就是他的連接字元串了,我們一個一個參數來介紹(注意:參數間用分號分隔):
"user id=sa":連接資料庫的驗證用戶名為sa.他還有一個別名"uid",所以這句我們還可以寫成"uid=sa".
"password=":連接資料庫的驗證密碼為空.他的別名為"pwd",所以我們可以寫為"pwd=".
這里注意,你的sql server必須已經設置了需要用戶名和密碼來登錄,否則不能用這樣的方式來登錄.如果你的sql server設置為Windows登錄,那麼在這里就不需要使用"user id"和"password"這樣的方式來登錄,而需要使用"trusted_connection=sspi"來進行登錄.
"initial catalog=northwind":使用的數據源為"northwind"這個資料庫.他的別名為"database",本句可以寫成"database=northwind".
"server=yoursqlserver":使用名為"yoursqlserver"的伺服器.他的別名為"data source","address","addr".如果使用的是本地資料庫且定義了實例名,則可以寫為"server=(local)\實例名";如果是遠程伺服器,則將"(local)"替換為遠程伺服器的名稱或ip地址.
"connect timeout=30":連接超時時間為30秒.
在這里,建立連接對象用的構造函數為:sqlconnection.
其餘的就和access沒有什麼區別了!
********************************************************************************************************************
用c#訪問access資料庫


我編寫這個程序的動機是當我希望用c sharp訪問msaccess資料庫的時候我沒有辦法獲得任何信息和參考材料.網上所能獲得的所有材料都是偏重於sql的,所以我們將分兩步來編寫這個應用程序,第一我們將展示如何連接到msaccess資料庫然後看看它有多復雜.最後,我們就這樣完成了這個程序.

閑言少序,讓我們開始正題.連接到資料庫的過程與我們早先的ado連接過程相比已經發生了較大的變化.下面的圖表恰當的(我希望如此)oledbconnection--> oledbcommand --> oledbdatareader.現在那些熟悉ado的人很明顯能看出兩者的相似之處但是為了使那些還沒有很好的適應ado的人能夠明白,下面是一些解釋.

oledbconnection -->代表對資料庫的單一連接,根據底層資料庫的功能它能給你操縱資料庫的能力.有一點必須記住,雖然oledbconnection對象出了作用范圍,它也不會自動被關閉.所以,你將不得不顯示的調用這個對象的close()方法.

oledbcommand -->這是就象我們在ado中使用的一樣的通常的command對象.你可以通過這個對象調用sql存儲過程或是sql查詢語句.

oledbdatareader -->這個類擁有非常大的重要性因為它提供了實際上的對資料庫底層數據集的訪問.當你調用oledbcommand的executereader方法的時候它就會被創建,.net beta2 sdk說不要直接創建這個類的對象.

現在你可以在.net beta 2的文檔中看到更多的關於這些主要對象的說明,下面是指出如何在程序中訪問資料庫的源代碼.

using system;
using system.data.oledb;

class oledbtest{

public static void main()
{
/創建資料庫連接
oledbconnection aconnection = new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=c:\\db1.mdb");

/創建command對象並保存sql查詢語句
oledbcommand acommand = new oledbcommand("select * from emp_test", aconnection);
try
{
aconnection.open();

/創建datareader 對象來連接到表單
oledbdatareader areader = acommand.executereader();
console.writeline("this is the returned data from emp_test table");

/循環遍歷資料庫
while(areader.read())
{
console.writeline(areader.getint32(0).tostring());
}

/關閉reader對象
areader.close();

/關閉連接,這很重要
aconnection.close();
}

/一些通常的異常處理
catch(oledbexception e)
{
console.writeline("error: {0}", e.errors[0].message);
}
}
}

成功運行這個程序的步驟
1.用msaccess創建一個名叫db1.mdb的資料庫
2.創建一個名叫emp_test的表單
3.使它包含下列數據域
emp_code int
emp_name text
emp_ext text
4.將上面的代碼保存到sample.cs文件中
5.確保資料庫位於c:\並確保mdac2.6或是更新的版本已經被安裝
6.編譯運行

現在讓我們來了解一些我們在oledbconnection對象的構造函數看到的東西的一些細節,在這里你看見諸如"provider="之類的東西.下面是一些和ado.net兼容的驅動程序類型.
sqlolddb --> microsoft ole db provider for sql server,
msra --> microsoft ole db provider forOracle,
microsoft.jet.oledb.4.0 --> ole db provider for microsoft jet
你可以選擇其中的任何一個但是他們會需要傳遞不同的參數,例如jet.oledb.需要傳遞mdb文件的名字而sqloledb需要傳遞用戶名和密碼.

所有這些驅動程序都位於system.data.oledb命名空間里,所以你必須包括它,而且它們和oledb provider for odbc不兼容,也就是說你不能在VB6.0程序里使用這些驅動程序來訪問資料庫,所以不要去尋找解釋為什麼要把這些資料庫放在c:\上的資料了

當你使用microsoft sql server 7.0 或者更新版本的時候,下面是微軟給出的一些指導:
推薦使用.net data provider在下列情況中,使用microsoft sql server 7.0 或者更新版本的中間層應用程序,使用microsoft data engine (msde)或icrosoft sql server 7.0 或者更新版本的單層應用程序.
建議將ole db provider for sql server (sqloledb)和ole db .net data provider一起使用.
對於microsoft sql server 6.5和更早的版本,你必須同時使用ole db provider for sql server 和 ole db.net data provider.
推薦使用microsoft sql server 6.5和更早的版本或是oracle的中間層應用程序使用ole db .net data provider.
對於microsoft sql server 7.0 或者更新版本,推薦sql server .net data provider.
推薦單層應用程序使用microsoft access資料庫.
不推薦一個中間層程序同時使用ole db .net data provider和microsoft access資料庫.
不再支持ole db provider for odbc (msdasql)

6. ASPNET怎樣調用一個存儲過程(帶參數的)

ASPNET怎樣調用一個存儲過程(帶參數的)使用的是Ado.NET中的相關的資料庫操作方法。
Ado.NET連接資料庫有以下幾個步驟:
1:使用配置的資料庫連接串,創建資料庫連接 Connection 對象
2:構建操作的sql語句
3:定義command對象
4:打開數據連接
5:執行命令
舉一個例子,刪除操作
public int DeleteStudent3(int stuID)
{

int result = 0;

using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand objCommand = new SqlCommand(dboOwner + ".usp_DeleteStudent", connection);
objCommand.CommandType = CommandType.StoredProcere;

objCommand.Parameters.Add("@stuID", SqlDbType.Int).Value = stuID;

connection.Open();
result = objCommand.ExecuteNonQuery();
}
return result;
}

7. 求.net面試題

下面有關用戶控制項與aspx頁面區別說法錯誤的是(B)
aa// 用戶控制項不能再包含<HTML><BODY><FORM>標記,而aspx頁面可以包含
bb// 用戶控制項不能觸發伺服器端的事件,只是一種外觀重用方式,而aspx頁面可以
cc// 用戶控制項繼承自System.Web.UI.UserControl,而aspx頁面繼承自System.Web.UI.Page
dd// 用戶控制項可以包含其它用戶控制項,但是不能直接訪問,必須包含在某個aspx頁面中才可以訪問,而aspx頁面是可以直接訪問的

想在在aspx頁面使用用戶控制項,則aspx頁面開始部分必須添加下面哪個頁面指令A
aa// <%@ Page %>
bb// <%@ Master %>
cc// <%@ Control %>
dd// <%@ Register %>

根據你的理解,你認為第三控制項與用戶控制項的主要區別是A
aa// 第三方控制項是編譯後的代碼,後綴為dll,只要應用程序引用進來,就可以使用,而用戶控制項是頁面文件,屬於非編譯代碼,只限於在當前應用程序中使用
bb// 用戶控制項比第三方控制項更靈活,可以在應用程序中多個地方使用
cc// 用戶控制項出現在工具箱中,而第三方控制項不會出現在工具箱中
dd// 用戶控制項比第三方控制項的執行效率要高一些

下面關於HttpHandler與HttpMole說法正確的是C
aa// 一個Http請求中可以經歷多個HttpMole和一個HttpHandler
bb// 一個Http請求中可以經歷多個HttpHandler和一個HttpMole
cc// HttpMole是一個Http請求的最終處理者
dd// HttpHandler通常做一些停止數據向客戶端輸出的操作

在aSPNET中,關於HttpHandler說法不正確的是:(D)
aa// 通常文件後綴名為ashx
bb// 它是一個Http請求處理的最終點
cc// 它實現了IHttpHandler
dd// 當它的IsReusable屬性為false時,表示只能使用一次

下面哪個選項不能在web.config文件中配置的(C)
aa// 連接字元串
bb// 身份驗證
cc// 網站導航
dd// 程序出現錯誤時,定向到的錯誤提示頁面

aSPNET支持三種驗證方式,不屬於其中的是(B)
aa// passport
bb// SqlServer身份
cc// Windows
dd// Forms

在網站某個目錄的web.config配置文件中,有一段關於該目錄授權的代碼,經過分析,你認為正確的答案是:B
<authentication>
<deny user="?" /> 拒絕所有匿名用戶
<allow users="xiaozhang" /> 容許xiazhang
<deny roles="*"> 拒絕所有用戶
</authentication>
aa// 所有用戶都可以訪問該網站目錄,除xiaozhang以外
bb// 所有用戶都不能訪問該網站目錄,除xiaozhang以外
cc// 匿名用戶和xiaozhang都不能訪問該網站目錄
dd// 所有角色和用戶都不能訪問該網站目錄

已知在網站的根目錄下有一個web.config文件,有如下關於驗證的代碼,正確說法的是B
<authorization mode="Forms">
<forms name="userLogin" loginUrl="~/login.aspx" timeout="20">
</forms>
</authorization>
aa// loginUrl的作用是,當用戶登錄不成功時,轉向login.aspx頁面
bb// loginUrl的作用是,當用戶進入網站如果未登錄,就轉向login.aspx頁面
cc// timeout是超過20分鍾不登錄,就退出網站
dd// timeout的作用是當20分鍾後,用戶還沒有登錄,就轉向login.aspx頁面

下列關於部署的說法,正確的是(a d)
aa// 部署就是將站點文件復制到相關web目錄中
bb// 應該在本地站點將內容處理好,比如資料庫連接字元串設置好並加密,然後直接復制到站點到遠程伺服器相關目錄即可
cc// 發布預編譯站點,如果將來需要更新某個頁面,最好不要選擇使用」使用固定命名和單頁程序集」
dd// 發布預編譯站點就是將站點所有文件都編譯到dll中

下面(C)不屬於導航控制項
aa// Menu
bb// SiteMapPath
cc// View
dd// SiteMapDataSource

在asp.net中的母版中的內容頁中能包含的HTML元素是(D)
aa// <html>
bb// <head>
cc// <body>
dd// <script>

如果希望使用TreeView控制項顯示時默認全部展開應設置(D)屬性
aa// ExpandDepth
bb// ExpandImageToolTip
cc// ExpandImageUrl
dd// Expand

在SiteMapPath控制項中,要設置導航路徑中分隔符應設置(B)屬性
aa// PathDirection
bb// PathSeparator
cc// PathSeparatorStyle
dd// Provider

下列關於ContentPlaceHolder控制項說法錯誤的是(C)ContentPlaceHolderMain
aa// ContentPlaceHolder 控制項為母版頁中的內容定義一個相對區域
bb// 母版頁還包括一個或多個 ContentPlaceHolder 控制項
cc// ContentPlaceHolder 控制項必須包含在內容頁中
dd// Content 控制項使用其 ContentPlaceHolderID 屬性與 ContentPlaceHolder 關聯.

下列(c)模板不屬於Repeater控制項
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate

設置(a)屬性將會頁面顯示DataList控制項時調用EditItemTemplate模板
aa// EditItemIndex
bb// EditIndex
cc// SelectedItemIndex
dd// ModifyItemIndex

如果在DataList中實現分頁一般(AB)(選擇二項)
aa// 使用Sql語句
bb// 使用PagedDataSource對象進行分頁
cc// 設置CurrentPageIndex屬性
dd// 設置DataList的PageIndex屬性

DataList中的交替行模板是(B)
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate

下面關於DataList說法錯誤的是(C)
aa// DataList沒有內置分頁功能
bb// DataList具有SelectedItemTamplate模板
cc// DataList不能使用ObjectDataSource控制項進行綁定數據 可以使用ObjectDataSource控制項進行綁定數據
dd// DataList比Repeater控制項多了二個模板 DataList有編輯模板和選擇模板

在一個aSPX頁面的Page_Load事件中,編寫了如下代碼,則執行該頁面後,將在頁面中輸出(a)。(選擇一項)
private void Page_Load(object sender , System.Eventargs e){
Response . Write(「歡迎光臨」);
Response . End();
Response . Write(「歡迎下次光臨」);
}
aa// 歡迎光臨
bb// 歡迎下次光臨
cc// 歡迎光臨
歡迎下次光臨
dd// 歡迎光臨歡迎下次光臨

在aSP.NET中,application是(C)類的實例
aa// Httpapplication
bb// HttpapplicationUtility
cc// HttpapplicationState
dd// Page

在aSP.NET中,下列關於session對象的說法正確的是(D)。(選擇一項)
aa// 用戶每次打開一個web頁面,將會創建一個session對象
bb// 用戶關閉客戶端web頁面後,session對象將立即消失
cc// 應用程序退出後,session對象的值才能消失
dd// 每個用戶的Session對象不能被其他用戶訪問

在aSP.NET中,為了將當前頁面跳轉到一個相同目錄下名為Main.htm的頁面,下面方法正確的是(C)。(選擇一項)
aa// Server.Execute(「Main.htm」);
bb// Servlet.Transfer(「Main.htm」);
cc// Response.Redirect(「Main.htm」);
dd// Response.Write(「Main.htm」);

某個用aSP。NET技術開發的網站擁有大量的訪問量,最近該網經常因為伺服器內存佔用率過高而宕機,作為該網站技術員的你仔細檢查了該網站的系統,發現內存佔有率過高是因為每個用戶都有大量數據保存在Session中,為了解決該問題你應該進行(C)處理。(選擇一項)
aa// 將保存在Session中的數據保存在application中
bb// 將保存在Session中的數據保存在Cookie中
cc// 將Session中對安全性要求不高的數據保存在Cookie中,不經常使用的數據保存在資料庫中
dd// 將Session中對安全性要求不高的數據保存在application中,不經常使用的數據保存在Cookie中

對於第三方在線文本編輯控制項FreeTextBox,如果需要獲取控制項中錄入文本的HTML代碼,需要訪問什麼屬性(A)(選擇一項)
aa// Text
bb// HtmlText
cc// Value
dd// SelectText

有時候編輯過程中會出現如下的錯誤,如果要避免該錯誤,需要在Page頁面指令上做何設置(D):(選擇一項)
aa// EnableEventValidation="true"
bb// EnableEventValidation="false"
cc// ValidateRequest="true"
dd// ValidateRequest="false"

使用驗證碼生成控制項Webvalidates,生成驗證碼的方法為(C):(選擇一項)
aa// Generate()
bb// Initial()
cc// Create()
dd// Next()

CodeSmith中,腳本標簽寫法正確的是(B):(選擇一項)
aa// <script runat=」server」></script>
bb// <script runat=」template」></script> 如果不添加會被視為普通文本
cc// <CodeTemplate runat=」server」></CodeTemplate>
dd// <CodeTemplate runat=」template」></CodeTemplate>

利用CodeSmith生成實體類的代碼,對於DbType.Int32,應輸出的類型為:(C)(選擇一項)
aa// byte
bb// short
cc// int
dd// long

下面那種數據源控制項適合於三層結構數據綁定(C)
aa// SqlDataSource
bb// accessDataSoure
cc// ObjectDataSoure
dd// XmlDataSoure

下面對於幾種數據源控制項說法錯誤的是(A)
aa// SqlDataSource數據源控制項不能用於oracle資料庫和access資料庫。
bb// ObjectDataSource可以對業務對象或其他返回數據的類執行特定的數據訪問。
cc// XmlDataSource可以對XML文檔執行特定訪問,包括物理訪問和內存訪問。
dd// SiteMapDataSource可以對站點地圖提供程序所存儲的Web站點執行特定的站點地圖數據訪問.

為綁定的行添加腳本事件的方法是什麼(D)
aa// ItemDataBound
bb// DataBinding
cc// DataBound
dd// RowDataBound

DropDownList控制項的哪個屬性可獲取當前選擇的項(A)
aa// DropDownList.SelectedItem.Value
bb// DropDownList.SelectedItem.Text
cc// DropDownList.SelectedValue
dd// DropDownList.SelectedItem

Gridview控制項的基類是(C)
aa// HierarchicalDataBoundControl
bb// ListControl
cc// CompositeDataBoundControl
dd// BaseGridriew

下面關於Eval和Bind的區別,說法不正確的是(B)
aa// Eval()方法是靜態(只讀)方法
bb// Eval方法沒有Bind?方法訪問速度快
cc// Bind?方法支持讀/寫功能,可修改回傳伺服器。
dd// Bind 方法不能格式化字元串

下面關於FileUpload控制項說法不正確的是()
aa// 獲取上傳文件名的屬性是FileUpload.PostedFile.FileName
bb// 獲取上傳文件大小的屬性是FileUpload.PostedFile.ContentLength
cc// 獲取上傳文件類型的屬性是FileUpload.PostedFile.ContentType
dd// 保存上傳文件的方法是FileUpload.SevaAs

如果用戶信息必須填寫電話號碼,使用那個驗證控制項(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和regularExpression;
dd// CompareValidator和RequiredFieldValidator;

現在需要驗證Textbox的輸入數據為年齡,並且要求大於18,小於65應該使用的控制項是(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和RangeValidator
dd// CompareValidator和RequiredFieldValidator

ValidationSummary控制項的作用是(B)
aa// 檢查總和數
bb// 集中顯示所有驗證的結果
cc// 判斷有無超出范圍
dd// 檢查數值大小

在VS中,下列說法錯誤的是: D
aa// 內置了輕量級的Web伺服器
bb// 無須配置IIS、設置相應許可權
cc// 內置了80多個控制項
dd// 代碼前置,邏輯分明

運行下列代碼,如果當天是星期天,且用戶輸入「accp」(輸入框TextBox的ID是txtName),則將輸出(C)
string outPut="";
switch (DateTime.Now.DayOfWeek.ToString())
{
case "Saturday": outPut = "{0},Hi"; break;
case "Sunday": outPut = "{0},Ok"; break;
default: outPut = "{0},Bye"; break;
}
string message = string.Format(outPut,txtName.Text);
Response.Write(message);
aa// Hi
bb// Ok
cc// Bye
dd// 無輸出

App_Data目錄是用來放置(A)
aa// 專用數據文件
bb// 共享文件
cc// 被保護的文件
dd// 代碼文件

VS創建Asp.net網站時自動生成的文件和目錄有(BCD) 選擇三項
aa// app_resource文件夾
bb// app_Data目錄
cc// 擴展名為aspx和cs的文件
dd// Web.Config文件

現有用來做開發的生產機和用來做布署的伺服器,關於開發布署發布網站說法正確的是:BC 選擇二項
aa// 生產機必須安裝IIS
bb// 伺服器必須安裝IIS
cc// 生產機必須安裝Windows Server操作系統
dd// 伺服器必須安裝Windows Server操作系統

B/S典型應用有:BCD 選擇三項
aa// 某酒店的內務管理
bb// 購物網站
cc// 個人博客
dd// 論壇

在開發三層結構的網站時,與數據表對應的實體類應寫在(D)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

某個論壇上有這樣的規定:在線時長不夠100小時不能發貼,相關的代碼應該寫在(B)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

對於存儲過程的調用,應該出現在(C)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

下列說法正確的是(AB) 選擇二項
aa// 數據訪問層要添加模型層的引用
bb// 業務邏輯層要添加數據訪問層的引用
cc// 表示層要添加數據訪問層業務邏輯層和模型層的引用
dd// 模型層要添加數據訪問層的引用

熱點內容
2013年二級c語言真題 發布:2024-10-08 10:44:47 瀏覽:242
linux的locale 發布:2024-10-08 10:44:36 瀏覽:91
2rsa演算法 發布:2024-10-08 10:29:53 瀏覽:542
南京社保密碼多少 發布:2024-10-08 10:21:01 瀏覽:472
國內的少兒編程 發布:2024-10-08 10:21:00 瀏覽:520
vscode編譯調試閃退 發布:2024-10-08 10:19:27 瀏覽:671
oracle資料庫用戶許可權 發布:2024-10-08 09:46:00 瀏覽:708
立方的演算法口訣 發布:2024-10-08 09:44:30 瀏覽:820
python輸入到excel表格 發布:2024-10-08 09:36:31 瀏覽:285
腳本拒絕訪問閃退 發布:2024-10-08 09:34:55 瀏覽:939