❶ asp無法訪問access資料庫的問題
要解決的一個是iis64到32的問題, ,然後 解決asp.net 擴展的64位問題,只解決一個就失敗。
.單擊「開始」,單擊「運行」,鍵入 cmd,然後單擊「確定」。
2.鍵入以下命令啟用 32 位模式: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3.鍵入以下命令,安裝 ASP.NET 2.0(32 位)版本並在 IIS 根目錄下安裝腳本映射: %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
4.確保在 Internet 信息服務管理器的 Web 服務擴展列表中,將 ASP.NET 版本 2.0.40607(32 位)的狀態設置為允許。
cmd:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
❷ 未在本地計算機上注冊access資料庫提供程序。
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;"+
"Ole Db Services=-4;"+
"Data Source=D:\\BegASPNET2.0\\Nwind.mdb;";
這樣看看行不行
❸ asp.net中動態修改配置文件的方法
很多時候,我們可能會在中動態的修改配置文件,我們可以使用如下代碼中涉及到的類來完成配置文件,下面的代碼是修改connectionstring的例子:
System.Configuration.Configuration c = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
c.ConnectionStrings.ConnectionStrings.Clear();
ConnectionStringSettings s = new ConnectionStringSettings();
s.ProviderName = "System.Data.OleDb";
s.ConnectionString = "Provider=Microsoft.oledb.jet.4.0;data source=c:\abc.mdb";
s.Name = "myaccess";
c.ConnectionStrings.ConnectionStrings.Add(s);
c.Save();
但是因為安全性的關系, 不允許用Configuration的類對Web.config進行修改,
只能用操作xml對象的形式進行修改
XmlDocument doc = new XmlDocument();
doc.Load("Web.config");
XmlNode node = doc.DocumentElement.SelectSingleNode("appSettings");
node.SelectSingleNode("descendant::add[@key='Value_Inform']")。Attributes[1].Value = "111";
doc.DocumentElement.SelectSingleNode("appSettings")。InnerXml = node.InnerXml;
doc.Save("Web.config");
盡量不要修改web.config文件
web.config的改動由aspnet_wp進程監視,如果有改動,因為會導致web應用程序重啟,降低性能,所有的Session會重置
但是不建議動態修改web.config的值,因為會導致web應用程序重啟,降低性能。
❹ 下載的asp.net源碼怎麼用
asp.net環境配置ASP.NET
一、安裝IIS與配置IIS
在Windows 2000、Windows XP、Windows 2003或Windows Vista等操作系統中,IIS文件及安裝方式都有所不同。
1、Windows 2003下安裝IIS:
依次點擊「開始」->「設置」->「控制面板」->「添加刪除程序」,在出現的「添加刪除程序」界面中,單擊
「添加/刪除 Windows組件」,在出現的「Windows組件向導」窗口中,選中「應用程序伺服器」後單擊「下一 步」
按鈕,系統開始安裝IIS組件。
2、Windows 2003的IIS配置:
安裝好IIS後,在「控制面板」雙擊「Internet信息服務(IIS)管理器」,在「Internet信息服務」窗口中,點選
「默認網站」後右鍵選擇「屬性」,在出現的「默認網站屬性」窗口中,右鍵依次選擇「屬性」->選擇網站主目錄。
這里只要選擇本地路徑就可以了。
另外在Web服務擴展中允許 ASP.NET v2.0.50727
3、Windows 2000、Windows XP下安裝IIS:在Windows 2000、Windows XP操作系統中,IIS安裝方法和配置與Windows 2003相似。這里就不詳細寫了。
4、Vista下安裝IIS:
依次點擊「開始」->「控制面板」->「程序」,在出現的「程序和功能」界面中單擊「打開或關閉Windows功能」展開「Internet信息服務」:
在「Web管理工具」中,選中「IIS管理服務」、「IIS管理腳本和工具」、「IIS管理控制台」選項;在「萬維網服務」中,選中「應用程序
開發功能」中的「.NET擴展性」、「ASP」「ASP.NET」 選項。。
選擇好後單擊「確定」按鈕,系統開始安裝IIS組件,幾分鍾後IIS即可安裝完成。
5、Windows Vista的IIS配置:
依次點擊「開始」->「所有程序」->「管理工具」->「Internet信息服務(IIS)管理器」,在出現的「Internet信息服務(IIS)管理器」界面中,
依次點擊「網站」-> 「設置網站默認設置」。
在出現的「網站默認設置」窗口中,單擊「應用程序池」,在「應用程序池」的下拉菜單中,將「應用程序池」改為「Classic.NET AppPool」。
雙擊「默認文檔」,修改首頁的默認文檔及排序,單擊「應用」按鈕保存設置。
二、安裝與配置.NET Framework 2.0
您可以通過微軟的官方網站下載.NET Framework 2.0 (下載地址http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en)安裝程序。.NET Framework 2.0的安裝過程非常簡單,在解壓.NET Framework 2.0安裝包後,雙擊安裝目錄下的dotn
betfx2.0.exe安裝文件,按照安裝提示進行安裝即可。
配置網站以支持.Net2.0。依次點擊「開始」->「程序」->「控制面板」->「管理工具」->「Internet信息服務」,在「Internet信息服務」管理界面中點選「默認網站」後右鍵
選擇「屬性」,在出現的「默認網站屬性」窗口中單擊「ASP.NET」選項卡,並在「ASP.NET version」中選擇「2.0.50727」。同時還可以看到其
安裝路徑等信息。
三、安裝與配置SQL Server 2000/2005
只介紹SQL Server 2005的安裝。
1、以下是安裝過程中的幾個重要設置。。建議一般用戶在安裝過程中按照以下示例進行設置。這里演示的是SQL2005開發版的安裝。
2、如果你是用於測試環境,建議進行全部安裝。如果是生產環境,請專業人員配置安裝。
3、如果程序要用到報表伺服器,就要選擇reporting services,否則在安裝過程中安裝程序沒有配置伺服器,那麼就會無法使用報表伺服器。
4、sa密碼一定要復雜。也要可以在安裝完SQL之後把SA帳戶刪除,以保安全。
四、文件夾許可權配置
首先要注意的是:為了你網站的安全請不要在IIS中打開寫入許可權,並且將你的磁碟文件系統格式轉化安全一點的NTFS格式。請參照下面的說明進行許可權的配置。
當站點在NTFS分區時,如果站點所在的目錄或者資料庫目錄沒有給訪問的用戶讀寫許可權,那就會引起以下的錯誤:
1、「Microsoft JET Database Engine (0x80040E09) 不能更新。
2、資料庫或對象為只讀
3、出現」請確認你具有對文件夾與文件有讀寫的許可權」等提示
解決方法:我們假定站點在H:\website 目錄下,下面的圖示以WINXP為例,其它系統可以參照進行設置,
具體操作如下:
1、查看站點是否安裝在NTFS分區內,如果不是NTFS格式請轉化為NTFS文件系統格式。也只有NTFS格式才能進行下面講到的許可權配置操作.
2、請進入文件管理器的文件夾選項
3、將「使用簡單文件共享」前的勾選去掉
4、右鍵點擊動易系統安裝目錄-共享和安全
6、點擊高級選項
7、查找用戶或組
8、選擇aspnet帳戶
9、點擊確定
10、勾選站點目錄對於aspnet 的讀寫許可權
❺ 如何進行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)
❻ 跪求Visual C++程序連接資料庫的方法,十分火急!!!
C#的各種連接資料庫2007年11月01日 星期四 11:461.C#連接連接Access
程序代碼:
-------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\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資料庫的連接完成.
--------------------------------------------------------------------------------
2.C#連接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.
--------------------------------------------------------------------------------
3.C#連接Oracle
程序代碼:
--------------------------------------------------------------------------------
using System.Data.OracleClient;
using System.Data;
//在窗體上添加一個按鈕,叫Button1,雙擊Button1,輸入以下代碼
private void Button1_Click(object sender, System.EventArgs e)
{
string ConnectionString="Data Source=sky;user=system;password=manager;";//寫連接串
OracleConnection conn=new OracleConnection(ConnectionString);//創建一個新連接
try
{
conn.Open();
OracleCommand cmd=conn.CreateCommand();
cmd.CommandText="select * from MyTable";//在這兒寫sql語句
OracleDataReader odr=cmd.ExecuteReader();//創建一個OracleDateReader對象
while(odr.Read())//讀取數據,如果odr.Read()返回為false的話,就說明到記錄集的尾部了
{
Response.Write(odr.GetOracleString(1).ToString());//輸出欄位1,這個數是欄位索引,具體怎麼使用欄位名還有待研究
}
odr.Close();
}
catch(Exception ee)
{
Response.Write(ee.Message); //如果有錯誤,輸出錯誤信息
}
finally
{
conn.Close(); //關閉連接
}
}
--------------------------------------------------------------------------------
4.C#連接MySQL
程序代碼:
--------------------------------------------------------------------------------
using MySQLDriverCS;
// 建立資料庫連接
MySQLConnection DBConn;
DBConn = new MySQLConnection(new MySQLConnectionString("localhost","mysql","root","",3306).AsString);
DBConn.Open();
// 執行查詢語句
MySQLCommand DBComm;
DBComm = new MySQLCommand("select Host,User from user",DBConn);
// 讀取數據
MySQLDataReader DBReader = DBComm.ExecuteReaderEx();
// 顯示數據
try
{
while (DBReader.Read())
{
Console.WriteLine("Host = {0} and User = {1}", DBReader.GetString(0),DBReader.GetString(1));
}
}
finally
{
DBReader.Close();
DBConn.Close();
}
//關閉資料庫連接
DBConn.Close();
--------------------------------------------------------------------------------
5.C#連接IBM DB2
程序代碼:
--------------------------------------------------------------------------------
OleDbConnection1.Open();
//打開資料庫連接
OleDbDataAdapter1.Fill(dataSet1,"Address");
//將得來的數據填入dataSet
DataGrid1.DataBind();
//綁定數據
OleDbConnection1.Close();
//關閉連接
//增加資料庫數據
在Web Form上新增對應欄位數量個數的TextBox,及一個button,為該按鍵增加Click響應事件代碼如下:
this.OleDbInsertCommand1.CommandText = "INSERTsintosADDRESS(NAME,
EMAIL, AGE, ADDRESS) valueS
(''"+TextBox1.Text+"'',''"+TextBox2.Text+"'',''"+TextBox3.Text+"'',''"+TextBox4.Text+"'')";
OleDbInsertCommand1.Connection.Open();
//打開連接
OleDbInsertCommand1.ExecuteNonQuery();
//執行該SQL語句
OleDbInsertCommand1.Connection.Close();
//關閉連接
--------------------------------------------------------------------------------
6.C#連接SyBase
程序代碼: (OleDb)
--------------------------------------------------------------------------------
Provider=Sybase.ASEOLEDBProvider.2;Initial Catalog=資料庫名;User ID=用戶名;Data Source=數據源;Extended Properties="";Server Name=ip地址;Network Protocol=Winsock;Server Port Address=5000;
Visual C 連接資料庫
- 連接SQL Server 2000
使用DAO
看下面的代碼:
CDaoDatabase db;
CString conn;
conn="ODBC;Driver=
SQLServer};Server=192.168.0.4;Database=mydb;uid=sa;pwd=";
db.Open(NULL,FALSE,FALSE,conn);
CString s=db.GetConnect();
CDaoRecordset rs(&db);
rs.Open(AFX_DAO_USE_DEFAULT_TYPE,"select * from tb_code");
TRACE("%drn",rs.GetRecordCount());
rs.Close();
db.Close();
其中Server=192.168.0.4是sql server伺服器的ip地址,也可以用主機名表示;Database=mydb表示使用mydb資料庫;uid和pwd分別表示訪問資料庫的用戶名和密碼。
注意:上面的代碼的運行還要用#include "afx.h" 把afx.h包含進來。當然最好還是加入些必要的出錯處理代碼,這里就不在詳述了。
二 連接 Microsoft Access資料庫
看下面實例的代碼,這也是我用的比較多的一種方法,access文件只要放在和應用程序相同的文件夾中就能保證代碼可以正確執行。
CString sPath,message;
GetMoleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer();
int nPos;
nPos=sPath.ReverseFind('');
sPath=sPath.Left(nPos);
CString runpath=sPath+"clzmf.mdb"; //這里的clzmf.mdb就是要打開的資料庫名
runpath.Replace('','/');
m_pDatabase=new CDaoDatabase;
try
{
m_pDatabase->Open(runpath);
}
catch(CDaoException *e)
{
message=_T("Could't open database-- Exception:");
message+=e->m_pErrorInfo->m_strDescription;
AfxMessageBox(message);
}
CString sqlstr="select * from user_info where user_id='myid';
CDaoRecordset rs(m_pDatabase);
try
{
rs.Open(AFX_DAO_USE_DEFAULT_TYPE,sqlstr);
}
catch(CDaoException *e)
{
message=_T("Could't open Recordset-- Exception:");
message+=e->m_pErrorInfo->m_strDescription;
AfxMessageBox(message);
}
這里加入了異常處理的代碼,其他注意選項可以參照Sql Server 2000的注意選項。
#連接SQL資料庫並且在表中進行對數據操作2007-11-30 16:07using System;
using System.Collections.Generic;
using System.Text;
using Model;
using System.Data;
using System.Data.SqlClient;
//在表中修改
private void btnOK_Click(object sender, EventArgs e)
{
try
{
DialogResult result = MessageBox.Show("你確定?", "系統提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
//string strConn = "server=.;uid=sa;pwd=;database=wareDB";
string strConn = "server=.;uid=sa;pwd=;database=ShopManegerDB";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from Shop";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd; //獲取選擇命令
//創建自動生成Sql對象
SqlCommandBuilder builder = new SqlCommandBuilder(da);
//保存修改
da.Update(ds.Tables[0]); //提交更新
MessageBox.Show("修改成功");
this.Isindsplay();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//在表中操作刪除
private void 刪除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//保證選中
if (dgvData.CurrentCell.RowIndex != -1)
{
DialogResult result = MessageBox.Show("你確定?", "系統提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
//刪除
ds.Tables[0].Rows[dgvData.CurrentCell.RowIndex].Delete(); //刪除該選中行
}
}
}
刪除成功後,在次按保存按鈕.