一、設置Web.Config。刪除加以下代碼
<connectionStrings/>加以下代碼
<connectionStrings>
<add name="zgdxConn"connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\newsData.mdb"providerName="System.Data.OleDb"/>
</connectionStrings>
二、asp.net2.0中讀取web.config數據庫連接字符串2種方法
方法一:
string myConn = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
方法二:
string myConn = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["zgdxConn"].ToString();
三、倒入命名空間
如果數據庫是ACCESS:
using System.Data.OleDb;
如果數據庫是SqlServer;
using System.Data.SqlClient;
四、增加數據庫數據(增加新聞)
// myConnStr獲得數據庫連接字符串;建立連接對象myConn string myConnStr =System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection myConn = new OleDbConnection(myConnStr);
//queryStr書(shū)寫(xiě)向表news插入留言記錄的SQL命令;建立Adapter對象執行SQL命令
string queryStr = "insert into news(lanmuId,title,name,content) values(" + DropDownList1.SelectedItem.Value + ",’" + TextBox1.Text + "’,’" +TextBox2.Text + "’,’" + TextBox3.Text + "’)";
OleDbCommand myCom = new OleDbCommand(queryStr, myConn);
myCom.Connection.Open();//打開(kāi)數據庫連接;
myCom.ExecuteNonQuery();//執行SQL命令到數據庫;
myCom.Connection.Close();//關(guān)閉數據庫連接
五、刪除數據庫中的數據(刪除新聞)
// myConnStr獲得數據庫連接字符串;建立連接對象myConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection myConn = new OleDbConnection(myConnStr);
//queryStr書(shū)寫(xiě)向表news插入留言記錄的SQL命令;建立Adapter對象執行SQL命令
string queryStr = "delete from news where id="+Request.QueryString["id"];
OleDbCommand myCom = new OleDbCommand(queryStr, myConn);
myCom.Connection.Open();//打開(kāi)數據庫連接;
myCom.ExecuteNonQuery();//執行SQL命令到數據庫;
myCom.Connection.Close();//關(guān)閉數據庫連接
六、更新數據庫中的數據(更新已填寫(xiě)的新聞)
//myConnStr獲得數據庫連接字符串;建立連接對象myConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection myConn = new OleDbConnection(myConnStr);
//queryStr書(shū)寫(xiě)向表news插入留言記錄的SQL命令;建立Adapter對象執行SQL命令
string queryStr = "update news set title= ’" + TextBox1.Text + "’,name=’" + TextBox2.Text + "’,content= ’" + TextBox3.Text + "’ where id=" +int.Parse(Request.QueryString["id"].ToString());
OleDbCommand myCom = new OleDbCommand(queryStr, myConn);
myCom.Connection.Open();//打開(kāi)數據庫連接;
myCom.ExecuteNonQuery();//執行SQL命令到數據庫;
myCom.Connection.Close();//關(guān)閉數據庫連接
七、顯示數據庫中的數據(顯示已填寫(xiě)的新聞)
//MyConnString獲得數據庫連接字符串;建立連接對象MyConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection MyConn = new OleDbConnection(myConnStr);
//queryStr書(shū)寫(xiě)選擇所有留言的SQL命令;建立Adapter對象執行SQL命令
string queryStr = "select * from news where id="+int.Parse(Request.QueryString["id"].ToString());
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(queryStr, MyConn);
//建立DataSet對象ds;利用Adapter的Fill方法把SQL命令執行的結果倒入DataSet對象
DataSet ds = new DataSet();
MyAdapter.Fill(ds, "news");
TextBox1.Text = ds.Tables["news"].Rows[0]["title"].ToString(); //取出內存中的結果,在文本框顯示
TextBox2.Text = ds.Tables["news"].Rows[0]["name"].ToString(); //取出內存中的結果,在文本框顯示
TextBox3.Text = ds.Tables["news"].Rows[0]["content"].ToString();//取出內存中的結果,在文本框顯示
數據庫操作總結
一、插入、刪除、更新都是按以下操作步驟:
1、 建立連接對象:OleDbConnection
(書(shū)寫(xiě)SQL語(yǔ)句)
2、建立命令對象:OleDbCommand
3、執行命令: ExecuteNonQuery
經(jīng)驗:對于插入、刪除、更新操作。代碼都是一樣的,只是SQL語(yǔ)句不一樣
二、對于顯示數據是按以下操作步驟
1、建立連接對象: OleDbConnection
(書(shū)寫(xiě)SQL語(yǔ)句)
2、建立Adapter對象:OleDbDataAdapter
3、建立表集合對象: DataSet
映射
4、把服務(wù)器端的表映射到本地的表集合中:Adapter.Fill(本地表集合, "服務(wù)器表");
學(xué)習目的:學(xué)會(huì )讀取數據庫
有的網(wǎng)友說(shuō),不會(huì )C#,在A(yíng)SP.NET里面還是選擇VB.NET,這個(gè)我不反對,但是我覺(jué)得既然是學(xué)習新的東西,就不要
在意有多少是新的。實(shí)際上C#就一般的操作來(lái)說(shuō),只是區分大小寫(xiě)和多了一個(gè)分號這兩點(diǎn)與VB.NET不同其他都差不多
啊。在A(yíng)SP里面我們讀取數據就直接用RECORDSET,然后在HTML代碼里面穿插<%= %>就可以顯示了,但是ASP.NET
講究的是代碼分離,如果還是這樣顯示數據就不能代碼分離了。所以我們有兩種方法:如果是讀取一條記錄的數據或者
不多的數據,我們用DATAREADER采集數據,然后賦值給LABEL控件的Text屬性即可;如果是讀取大量數據我們就采用
DATAGRID。
今天我們就來(lái)說(shuō)一下DATAREADER:
C#:
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand("這里是SQL語(yǔ)句" , objConnection);
objConnection.Open();
OleDbDataReader objDataReader=objCommand.ExecuteReader();
if(objDataReader.Read())
{
oicq.Text=Convert.ToString(objDataReader["useroicq"]);
homesite.Text=Convert.ToString(objDataReader["usersite"]);
face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]);
}
大家可以看到我們首先是連接數據庫然后打開(kāi),對于select的命令,我們申明一個(gè)OleDbCommand來(lái)執行之,然后再申明一
個(gè)OleDbDataReader,來(lái)讀取數據,用的是ExecuteReader(), objDataReader.Read() 就開(kāi)始讀取了,在輸出的時(shí)候我們要注意
Text屬性接受的只能是字符串,所以我們要把讀出的數據都轉化為字符串才行。
轉換變量類(lèi)型函數:
轉換為字符串:Convert.ToString()
轉換為數字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照數字位數由長(cháng)到短
轉換為日期:Convert.ToDateTime()
VB:
dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
dim objDataReader as OleDbDataReader
objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb))
objCommand=new OleDbCommand("這里是SQL語(yǔ)句" , objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteReader()
if objDataReader.Read()
oicq.Text=Convert.ToString(objDataReader["useroicq"])
homesite.Text=Convert.ToString(objDataReader["usersite"])
face.SelectedItem.Text=Convert.ToString(objDataReader["userface"])
end if
其實(shí)大家比較一下C#和VB的語(yǔ)法,會(huì )發(fā)覺(jué)用C#似乎更加簡(jiǎn)單,教程里面我側重C#,對于VB的代碼我就不解釋了。
下面說(shuō)一下如果代碼是讀取SQL數據庫,我們這樣來(lái)轉變
1、把代碼開(kāi)始的
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
修改為
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
2、把代碼里面所有申明的對象OleDb××變?yōu)镾ql××就這么簡(jiǎn)單
你甚至可以用替換所有來(lái)解決,所以今后我講不再列出Sql Server的代碼了。
今天就說(shuō)到這里,明天開(kāi)始說(shuō)數據的添加、刪除、修改。
聯(lián)系客服