一、设置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书写向表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();//打开数据库连接;
myCom.ExecuteNonQuery();//执行SQL命令到数据库;
myCom.Connection.Close();//关闭数据库连接
五、删除数据库中的数据(删除新闻)
// myConnStr获得数据库连接字符串;建立连接对象myConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection myConn = new OleDbConnection(myConnStr);
//queryStr书写向表news插入留言记录的SQL命令;建立Adapter对象执行SQL命令
string queryStr = "delete from news where id="+Request.QueryString["id"];
OleDbCommand myCom = new OleDbCommand(queryStr, myConn);
myCom.Connection.Open();//打开数据库连接;
myCom.ExecuteNonQuery();//执行SQL命令到数据库;
myCom.Connection.Close();//关闭数据库连接
六、更新数据库中的数据(更新已填写的新闻)
//myConnStr获得数据库连接字符串;建立连接对象myConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection myConn = new OleDbConnection(myConnStr);
//queryStr书写向表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();//打开数据库连接;
myCom.ExecuteNonQuery();//执行SQL命令到数据库;
myCom.Connection.Close();//关闭数据库连接
七、显示数据库中的数据(显示已填写的新闻)
//MyConnString获得数据库连接字符串;建立连接对象MyConn
string myConnStr = System.Configuration.ConfigurationManager.ConnectionStrings["zgdxConn"].ConnectionString;
OleDbConnection MyConn = new OleDbConnection(myConnStr);
//queryStr书写选择所有留言的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
(书写SQL语句)
2、建立命令对象:OleDbCommand
3、执行命令: ExecuteNonQuery
经验:对于插入、删除、更新操作。代码都是一样的,只是SQL语句不一样
二、对于显示数据是按以下操作步骤
1、建立连接对象: OleDbConnection
(书写SQL语句)
2、建立Adapter对象:OleDbDataAdapter
3、建立表集合对象: DataSet
映射
4、把服务器端的表映射到本地的表集合中:Adapter.Fill(本地表集合, "服务器表");
学习目的:学会读取数据库
有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要
在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多
啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%= %>就可以显示了,但是ASP.NET
讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者
不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用
DATAGRID。
今天我们就来说一下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语句" , 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"]);
}
大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一
个OleDbDataReader,来读取数据,用的是ExecuteReader(), objDataReader.Read() 就开始读取了,在输出的时候我们要注意
Text属性接受的只能是字符串,所以我们要把读出的数据都转化为字符串才行。
转换变量类型函数:
转换为字符串:Convert.ToString()
转换为数字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照数字位数由长到短
转换为日期: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语句" , 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
其实大家比较一下C#和VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。
下面说一下如果代码是读取SQL数据库,我们这样来转变
1、把代码开始的
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
修改为
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
2、把代码里面所有申明的对象OleDb××变为Sql××就这么简单
你甚至可以用替换所有来解决,所以今后我讲不再列出Sql Server的代码了。
今天就说到这里,明天开始说数据的添加、删除、修改。
联系客服