㈠ C #里的request如何獲取資料庫中表中的記錄
首先需要說明,在C#中REQUST有兩種.
1. 位於System.Web.HttpRequest是封裝瀏覽器對伺服器的請求的,主要用在ASP.NET中,其中包括瀏覽器請求的網址,查詢字元串數據或表單數據等等.
所以一般將System.Web.HttpReques中的Request通常都簡稱為request,即:"請求",有"請求"就有"響應(response)".
在實際開發中,最常見的使用方法就是在ASP.NET中利用request對像用於獲取FORM中各種控種的值,或者用於接收URL傳參時的值.無法用來獲取資料庫或虛擬表中的記錄.
注:FORM中各種控制項的值可以是用戶輸入,或者從資料庫中取出來的數據綁定.
例如:
Request.Params["string型參數名"],Request.QueryString["string型參數名"]用於獲取URL傳參時某個參數的值.
Request.Form["控制項名稱"]用於獲取服務端控制項FORM中的各種控制項的值.
2.位於System.Net.HttpWebRequest則是用來簡化網路請求的過程,從伺服器上獲取文件/結果的,譬如你可以在代碼中用這個類冒充瀏覽器(設置一個UserAgent)來發請求,處理回應
這里的Rquest通常用於請求獲取服務端的各種文件數據流,例如在程序中點里某個按扭將伺服器上的某個地址的文件下載到本地硬碟.這個request在使用時由先創建一個對像實例.
例如:
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("下載地址,比如說某個網址") 首先創建REQUEST對像,
request.GetResponse().GetResponseStream()創建完成後就可以通過它來獲取流中的數據了,然後將獲取的數據交給System.IO.Stream的實例對像,就可以對需要下載的數據流進行處理了.
同樣,它也有一個與之相匹配的RESPONSE響應對像.這里就不再說明了...
這種問概念性的問題記著多看看書就能找到明確的答案.
以後不要再問這么沒水平的問題了.會鬧出笑話的...
至於System.Web.HttpRequest與System.Net.HttpWebRequest具體的區別,以後從書上給抄了一段內容:
HttpWebRequest 類對 WebRequest 中定義的屬性和方法提供支持,也對使用戶能夠直接與使用 HTTP 的伺服器交互的附加屬性和方法提供支持。
不要使用 HttpWebRequest 構造函數。使用 WebRequest.Create 方法初始化新的 HttpWebRequest 對象。如果統一資源標識符 (URI) 的方案是 http:// 或 https://,則 WebRequest.Create 返回 HttpWebRequest 對象。
可以使用 BeginGetResponse 和 EndGetResponse 方法對資源發出非同步請求。BeginGetRequestStream 和 EndGetRequestStream 方法提供對發送數據流的非同步訪問。
如果在訪問資源時發生錯誤,則 HttpWebRequest 類將引發 WebException。WebException.Status 屬性包含指示錯誤源的 WebExceptionStatus 值。
HttpWebRequest 將發送到 Internet 資源的公共 HTTP 標頭值公開為屬性,由方法或系統設置;下表包含完整列表。可以將 Headers 屬性中的其他標頭設置為名稱/值對。注意,伺服器和緩存在請求期間可能會更改或添加標頭。
下表列出了由屬性或方法設置或由系統設置的 HTTP 標頭。
System.Web.HttpRequest是封裝瀏覽器對伺服器的請求的,主要用在ASP.NET中,其中包括瀏覽器請求的網址,查詢字元串數據或表單數據等等
而System.Net.HttpWebRequest則是用來簡化網路請求的過程,從伺服器上獲取文件/結果的,譬如你可以在代碼中用這個類冒充瀏覽器(設置一個UserAgent)來發請求,處理回應
第一:他們不是父子關系。
第二:Syste.Net.HttpWebRequest類是System.Net.WebRequest抽象類的一個子類,它是.NET Framework的用於訪問Internet數據的請求/響應模型的抽象基類。使用該請求/響應模型的應用程序可以用協議不可知的方式從Internet請求數據。在這種方式下,應用程序處理 WebRequest類的實例,而協議特定的子類則執行請求的具體細節。
System.Net.HttpWebRequest類和System.Net.FileWebRequest都繼承了WebRequest
1、FileWebRequest類為使用file:// 方案來請求本地文件的URI實現WebRequest抽象基類。
2、HttpWebRequest類對WebRequest中定義的屬性和方法提供支持,也對使用戶能夠直接與使用HTTP的伺服器交互的附加屬性和方法提供支持。
第三:System.Web.HttpRequest類使ASP.NET能夠讀取客戶端在Web 請求期間發送的 HTTP值,HttpRequest類的方法和屬性通過HttpApplication、HttpContext、Page 和 UserControl類的Request屬性公開。
所以使用System.Web.HttpRequest類的時候其實都是利用HttpApplication、HttpContext、Page和UserControl類的Request屬性。而使用System.Net.HttpWebRequest類時是為了獲得一個Uri資源。自己創建。
System.Web 命名空間提供使得可以進行瀏覽器與伺服器通信的類和介面。此命名空間包括 HttpRequest 類(用於提供有關當前 HTTP 請求的廣泛信息)、HttpResponse 類(用於管理對客戶端的 HTTP 輸出)以及 HttpServerUtility 類(用於提供對伺服器端實用工具與進程的訪問)。System.Web 還包括用於 Cookie 操作、文件傳輸、異常信息和輸出緩存控制的類。
System.Net 命名空間為當前網路上使用的多種協議提供了簡單的編程介面。WebRequest 和 WebResponse 類形成了所謂的可插接式協議的基礎,可插接式協議是網路服務的一種實現,它使您能夠開發出使用 Internet 資源的應用程序,而不必考慮各種不同協議的具體細節。
㈡ C++ 獲得資料庫中的數據
1.提取單條記錄
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb";
//_bstr_t varSource="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
_RecordsetPtr m_pSet(_uuid(Recordset));
try {
m_pSet->Open(%%1,m_pConnection.GetInterfacePtr()
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
{
AfxMessageBox(e->ErrorMessage());
return;
}
_variant_t var;
CString %%2="";
long fldc=m_pSet->GetFields()->GetCount();
long i=0;
try {
m_pSet->MoveFirst();
if(!m_pSet->adoEOF)
{
for(i=0;i<fldc;i++)
{
var=m_pSet->GetCollect((long)i);
var.ChangeType(VT_BSTR);
%%2+=var.bstrVal;
%%2+=" ";
}
//m_pSet->MoveNext();
}
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
delete e;
}
//m_pSet->MoveFirst();
CoUninitialize(NULL);
3.顯示表格
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb";
//_bstr_t varSource="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
//打開屬性為默認(adModeRead(只讀),adModeWrite(可寫),adModeReadWrite(可讀寫)等)
_RecordsetPtr m_pSet(_uuid(Recordset));
try {
HRESULT hr=m_pSet->Open(%%1,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打開成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
int i=0;
_bstr_t vCol;
//pList->SetTextBkColor(RGB(122,200,122));
//pList->SetTextColor(RGB(0,0,200));
while(!m_pSet->adoEOF)
{
pList->Insert(i,atoi(i));
for(int j=0;j<countfields;j++)
{
vCol=m_pSet->GetCollect((long)j);
pList->SetItemText(i,j,vCol);
}
m_pSet->MoveNext();
i++;
}
CoUninitialize(NULL);
4.操作表格
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb";
//_bstr_t varSource="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
//打開屬性為默認(adModeRead(只讀),adModeWrite(可寫),adModeReadWrite(可讀寫)等)
_RecordsetPtr m_pSet(_uuid(Recordset));
try {
HRESULT hr=m_pSet->Open(%%1,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打開成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
int i=0;
_bstr_t vCol;
//pList->SetTextBkColor(RGB(122,200,122));
//pList->SetTextColor(RGB(0,0,200));
while(!m_pSet->adoEOF)
{
pList->Insert(i,atoi(i));
for(int j=0;j<countfields;j++)
{
vCol=m_pSet->GetCollect((long)j);
pList->SetItemText(i,j,vCol);
}
m_pSet->MoveNext();
i++;
}
CoUninitialize(NULL);
5.數值范圍查詢
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
try
{
//創建連接對象實例
m_pConnection.CreateInstance("ADODB.Connection");
//設置連接字元串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
uid=;pwd=;DBQ=shujuku.mdb;";
//使用Open方法連接資料庫
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
try {
int min = %%1;
int max = %%2;
CString sql;
sql.Format("select count(*) as pro_count from ProPrice where price between %d and %d",min,max);
HRESULT hr=m_pSet->Open(sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打開成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
㈢ 在c語言中,如何提取一個txt資料庫文件中的信息
簡單的用C讀取文件的例子代碼片段。
... ...
FILE *fp;
char buffer[1000];
fp=fopen( "input.txt", "r" );
while ( fread(&buffer, sizeof(buffer), 1, fp )==1)
{
... ...
//對從文件讀出來的數據在此處進行處理
... ...
}
fclose(fp);
... ...
㈣ 讀取資料庫中的值
1、導入.sql文件命令:mysql>
use
資料庫名;mysql>
source
d:/mysql.sql;
2、建立資料庫:mysql>
create
database
庫名;
3、建立數據表:mysql>
use
庫名;mysql>
create
table
表名
(欄位名
varchar(20),
欄位名
char(1));
4、刪除資料庫:mysql>
drop
database
庫名;
5、刪除數據表:mysql>
drop
table
表名;
6、將表中記錄清空:mysql>
delete
from
表名;
7、往表中插入記錄:mysql>
insert
into
表名
values
("hyq","m");
8、更新表中數據:mysql->
update
表名
set
欄位名1='a',欄位名2='b'
where
欄位名3='c';
9、用文本方式將數據裝入數據表中:mysql>
load
data
local
infile
"d:/mysql.txt"
into
table
表名;
㈤ 用C#二維數組怎樣讀取並計算SQL資料庫表的值
<p>讀資料庫的數據你最好別用數組,用隊列List或動態數組ArrayList</p>
class
C
{
public
數據類型
A1
{get;set;}
public
數據類型
A2
{get;set;}
public
數據類型
A3
{get;set;}
public
數據類型
A4
{get;set;}
public
數據類型
A5
{get;set;}
public
數據類型
A6
{get;set;}
}
class
CService
//這是操作這張表的類
{
public
List<C>
GetModels(string
sql)//這里是讀取數據的sql語句
{
List<C>
CList=new
List<C>();
//獲取數據
return
CList;//返回數據
}
}
//得到數據以後
public
void
method()
{
List<C>
CList=new
List<C>();
CService
cs=new
CService();
CList=cs.GetModels("select
*
from
表名")
foreach(var
item
in
CList)//得到數據以後,這里的item就是你的每一行
{
item.A1//這里是列的值
...
item.A6
}
}<p>這樣操作比用數組好,因為數據是聲明的時候就要明確大小的,而用List就可以動態加入數據</p>
㈥ vs中使如何用C#編寫代碼來獲得資料庫中最新插入一行數據的值謝謝!
如果用存儲過程插入的話,可以在存儲過程中返回剛插入的主鍵,然後可以按照返回的主鍵來查詢資料庫。