SqlDataSource 数据源控件

    SqlDataSource 数据源控件用于表示绑定到数据绑定控件的 SQL 关系数据库中的数据。将 SqlDataSource 控件与数据绑定控件一起使用,可以从关系数据库中检索数据,还可以在网页上显示、编辑和排序数据,而不必编写代码或只需编写少量代码。

    若要连接到数据库,必须将 ConnectionString 属性设置为有效的连接字符串。SqlDataSource 可以支持能够使用 ADO.NET 提供程序(例如 SqlClient、OleDb、Odbc 或 OracleClient)连接到的任何 SQL 关系数据库。

    使用SqlDataSource的时候,切忌选上将查询字符串写入web.config配置文件中,简化工作,程序代码也更清晰。


    在新数据源向导中,如果没有通过先选择Specify columns from a table or view,然后选择高级中的Generate INSERT,UPDATE and DELETE statements的方式来生成可插入、更新和删除的方式,则在向导的Define Custom Statements or Stored Procedures步骤,应按照如下方式写SQL语句:

SELECT * FROM [member_local] ORDER BY [ID]

 

UPDATE [member_local] SET [mname] = @mname, [myear] = @myear, [mmonth] = @mmonty, [mday] = @mday, [mrole] = @mrole, [mspecialty] = @mspecialty, [mcomment] = @mcomment, [mbool] = @mbool WHERE [ID] = @ID

 

INSERT INTO [member_local] ([ID], [mname], [myear], [mmonth], [mday], [mrole], [mspecialty], [mcomment], [mbool]) VALUES (?, @ID, @mname, @myear, @mmonty, @mday, @mrole, @mspecialty, @mcomment, @mbool)

 

DELETE FROM [member_local] WHERE [ID] = @ID

如图:

 

其它几个选项卡相应的写法

 

否则,只在数据绑定空间的属性(智能标签)中设置其可插入,修改和删除会报错:

至少一个参数没有被指定值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

 

控件AccessDataSource与之类似。 

 

当然,也可以直接编辑SqlDataSource或AccessDataSource的ConnectionString、SelectCommand、DeleteCommand、InsertCommand和UpdateCommand等属性,如下所示:

  1.         <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  2.             ConflictDetection="CompareAllValues" 
  3.             ConnectionString="<%$ ConnectionStrings:AccessConnectionString %>" 
  4.             DeleteCommand="DELETE FROM [member_local] WHERE [ID] = @ID" 
  5.             InsertCommand="INSERT INTO [member_local] ([ID], [mname], [myear], [mmonth], [mday], [mrole], [mspecialty], [mcomment], [mbool]) VALUES (@ID, @mname, @myear, @mmonty, @mday, @mrole, @mspecialty, @mcomment, @mbool)" 
  6.             OldValuesParameterFormatString="original_{0}" 
  7.             ProviderName="<%$ ConnectionStrings:AccessConnectionString.ProviderName %>" 
  8.             SelectCommand="SELECT * FROM [member_local] ORDER BY [ID]"            
  9.             UpdateCommand="UPDATE [member_local] SET [mname] = @mname, [myear] = @myear, [mmonth] = @mmonty, [mday] = @mday, [mrole] = @mrole, [mspecialty] = @mspecialty, [mcomment] = @mcomment, [mbool] = @mbool WHERE [ID] = @ID">
  10.            ...................
  11.         </asp:SqlDataSource>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值