问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ASP.NET里如何读取sqldatasource里的数据

发布网友 发布时间:2022-05-19 18:54

我来回答

3个回答

懂视网 时间:2022-05-19 23:15

当使用SqlDataSource控件选择数据时,可以从两个属性:ConnectionString和SelectCommand开始,如下所示:

<asp:SqlDataSource ID="MySourceControlName" Runat="server"

ConnectionString="Server=MyServer ;

Database=Northwind"

SelectCommand=" SELECT Fieldl, [Field With Space] FROM MyTable">

</asp:SglDataSource>

当使用Windows认证时,可以添加两个认证数据。

<asp:SqlDataSource ID="MySourceControlName" Runat="server"

ConnectionString="

Server=MyServer ;

User ID=MyID;

Password=Mypass;

Database=Northwind"

SelectCommand=" SELECT Field1, [Field With Space] FROM MyTable">

</asp:SqlDataSource>

第一个是前面讨论过的连接字符串,第二个是SelectCommand,用来确定将从SQL Server数据库中提取什么信息。在SelectCommand中,可以使用任何符合语法的SQL SELECT语句,包括在上一章或者附录A中讨论的语句。很多SQL Server管理员都不会允许用户直接访问表。数据库管理员将会在SPROC上创建一些受限制的许可。或者,创建表的视图用来提供表的一部分数据或者对表中可以修改的数据进行限制。连接至视图的语法如下:

SelectCommand="SELECT * from MyView">

如果表、查询、SPROC或者视图的名称中有空格字符,则应当使用方括号将整个名称包含起来,如下所示:

SelectCommand="SELECT * from [My View] "

您可能已经注意到了GridView中的Filter属性并且想知道它与在数据源SelectCommand中使用WHERE子句之间有何不同。筛选只用于某些缓冲情况,我们将会在第15章中介绍。

有了连接字符串和SelectCommand,就可以创建从SQL Server使用数据的页面了。

试一试#1—— SqlDataSource简单示例

在本练习中,应该以网格(表)格式从Northwind的SQL版本显示产品的GridView。可以以添加DataSource控件和数据绑定控件的技术开始,这样就能够创建最简单的源代码。然后将会使用一种更快速的开发技术(拖放列名称)。

(1) 请确认已经安装了SSE(如第1章所述),包括样本数据库Northwind。本练习还将涉及到SQL Server或者MSDE。

(2) 创建文件夹ch03,在其中创建一个名为TIO-1-SqlSimple-1.ASPX的文件。通过Menu:View|Toolbox(Ctrl+Alt+X)显示工具箱。请注意工具箱有一个可以展开的Data区域。

(3) 在Design视图中,从工具箱的Data区域中拖放一个SqlDataSource控件至页面。在便捷任务面板上,将数据源配置为新的连接。输入服务器名称(local)SQLExpress并使用Windows NT认证。选择名为Northwind的数据库并测试连接。单击OK结束。您将会自动返回至Data Source Configuration对话框,单击Next。对本例来说,不需要在配置文件中保存连接字符串;单击Next。选择“Specify columns from a table”并选择表名Products。在Columns列表中,单击ID、Name和Unit Price。单击Next和Test Query,然后单击Finish。这样就完成添加DataSource控件了。

(4) 添加GridView数据绑定控件。在便捷任务面板中,选择SqlDataSource,然后关闭便捷任务面板。这样就创建了数据绑定控件。保存并运行页面,页面如下:

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Ch03-Tio#l-SqlSimple-verl</title>

</head>

<body>

<h2>

Chapter 3 TIO #1 SqlSimple verl

</h2>

<form id="forml" runat="server">

<div>

<asp:SqlDataSource ID="SqlDataSourcel" Runat="server"

ProviderName="System.Data.SqlClient"

ConnectionString="Server=(local)SQLExpress;

Integrated Security=True;

Database=Northwind;

Persist Security Info=True"

SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice] FROM[Products]">

</asp:SqlDataSource>

<asp:GridView ID="GridViewl" Runat="server"

DataSourceID="SqlDataSourcel"

DataKeyNames="ProductID"

AutoGenerateColumns="False">

<Columns>

<asp:BoundField ReadOnly="True" HeaderText="ProductID"

InsertVisible="False" DataField="ProductID"

SortExpression=" ProductID" ></asp: BoundField>

<asp:BoundField HeaderText="ProductName"DataField="ProductName"

SortExpression="ProductName"></asp:BoundField>

<asp:BoundField HeaderText="UnitPrice" DataField="UnitPrice"

SortExpression="UnitPrice"></asp:BoundField>

 

热心网友 时间:2022-05-19 20:23

datatable是一个对象。
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlconnections"].ToString());
conn.Open();
SqlCommand cmd = new SqlCommand("select * from 表 where 条件",conn);
cmd.CommandTimeout = 600;
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable dt = new DataTable();//实例化一个datatable
dt.Load(reader);//将取到得数据填充到这个datatable中
reader.Dispose();//释放reader对象
conn.Dispose();//释放conn对象
//判断dt中这有没有数据
if(dt .Rows.count > 0) //如果有数据
{
mygridview.datasource=dt; //指定gridview控件的数据源为dt
mygridview.databind();//绑定
}追问那个释放的部分就是书上指的这个对象可以实现离线读取表对吧

追答数据已经存放在datatable中了,这时候就不需要conn(数据连接对象)和reader(数据读取对象)了。释放可以直观的理解成把它们从内存中删除。对不再需要的对象都应该及时释放,这样可以节约内存。至于节约内存有什么好处呢?自己思考一下

热心网友 时间:2022-05-19 21:41

if (datatable != null)
一般不用sqldatasource 用datatable或者 dataset。
你判断这个 if(datatable != null && datatable .Rows.count > 0)追问datatable是一个对象吗?还是哪一个控件的属性呀?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 南京师范大学中秋放假不?急求 中秋节大学放假的吗?放几天? 中秋节学生放不放假? 国庆中秋大学放假吗 全国多所高校缩短中秋国庆假了? 大一新生中秋节放假吗 大学生中秋节放假吗 大学因为军训中秋不放假,这样合理么 大学中秋节放假么 苹果6plus刷机后通讯录怎样恢复 苹果刷机前未备份,能恢复通讯录和照片吗 尬聊产生的原因 和男生聊天很尬聊怎么办? 达尔优键盘usb电源线有几根线 收银机键盘与数据线的八根线怎么排列 电脑键盘线一般是几芯,每根的作用是什么?四芯与五芯有区别吗?如何用USB接线口改装?谢谢 圆孔键盘5根线分别是干什么的 什么是不典型mds,可以治愈吗 确定为MDS,可以治愈吗 请问治疗MDS骨髓增生异常综合征哪家医院比较好,能完全治好吗? ASP.NET连接服务上的SQL数据库:data source=…这条语句后面怎么写? 我装了win7旗舰版,说要激活,怎么办呢? 地铁中自动售检票系统怎么保证了一卡通无障碍换乘 有没有170字到180字的硬笔书法内容 苹果手机没插入耳机却显示插入耳机模式,怎么解决,保修期还没过,这个能保修么?用去修么? IPHONE自动变成了耳机模式 我的ipad外音不会响 老显示在耳机模式 重启也没用 ,现在还在保修期内,苹果服务中心会保修吗 苹果手机拔下耳机还是显示耳机模式是为什么?武汉汉江有售后吗? iPhone手机没用耳机一直显示耳机状态怎么回事?武汉江汉路有苹果售后吗? iPhone的耳机孔没东西为什么一直显示耳机模式?武汉北起张公堤有没有售后? asp.net 2.0(C#)gridview数据绑定后,能否改变SqlDataSource查询语句来改gridview的显示数据呢 考澳洲研究生平时成绩大概74到78,能具有报考的资格吗? 妈妈睡午觉梦见狼狗一直*自己 后来从背后抱着自己不肯放 还会说几句人话 是什么意思 盛大公司脑残们跟爹听好了: 360PKQQ,谁会是赢家?【投票】 QQ管家的功能和360卫士的功能有什么不一样吗? 来个好听的英文名男 韩语的“西八”到底是什么意思?这句话到底跟中文里的那一句话对应? 韩国语的“席八”是什么意思。 凯励系统的意思是什么?