菜鸟也学习ASP.NET如何读取数据库内容

来源:互联网 发布:淘宝客交流论坛 编辑:程序博客网 时间:2024/06/05 01:11
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
.Nkr482{display:none;}

有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%=%>就可以显示了,但是ASP.NET讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用DATAGRID。

今天我们就来说一下DATAREADER:

stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;DataSource=";
strConnection+=Server.MapPath(strDb);
OleDbConnectionobjConnection=newOleDbConnection(strConnection);
OleDbCommandobjCommand=newOleDbCommand("这里是SQL语句",objConnection);
objConnection.Open();
OleDbDataReaderobjDataReader=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()

------------------

dimobjConnectionasOleDbConnection
dimobjCommandasOleDbCommand
dimobjDataReaderasOleDbDataReader
objConnection=newOleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;DataSource="+Server.MapPath(strDb))
objCommand=newOleDbCommand("这里是SQL语句",objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteReader()
ifobjDataReader.Read()
oicq.Text=Convert.ToString(objDataReader["useroicq"])
homesite.Text=Convert.ToString(objDataReader["usersite"])
face.SelectedItem.Text=Convert.ToString(objDataReader["userface"])
endif

其实大家比较一下C#和VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。

下面说一下如果代码是读取SQL数据库,我们这样来转变

1、把代码开始的

<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.OleDb"%>

修改为

<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.SqlClient"%>

2、把代码里面所有申明的对象OleDb××变为Sql××就这么简单

你甚至可以用替换所有来解决,所以今后我讲不再列出SqlServer的代码了。

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>