vs2010中,sqldatasource空间配置数据源的数据库框要怎么填?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2010中,sqldatasource空间配置数据源的数据库框要怎么填?相关的知识,希望对你有一定的参考价值。
参考技术A 先安装mysqlconnetor
net,(我还安装了mysql
connetor
odbc)
控制面版-管理工具-数据源odbc(双击)
弹出对话框,第一个选项卡,“用户dsn”,点击“添加”里面就有mysql的选项,“配置”,把空白的填上,点击测试(test),成功后,在vs里就能看着了。 参考技术B 写数据库的服务器名称,或服务器IP,直接填
就可以了,比如:192.168.11.1
如果是本机,可以写.
就是一个点.
三层架构中具有复杂 sqldatasource 的 Gridview
【中文标题】三层架构中具有复杂 sqldatasource 的 Gridview【英文标题】:Gridview with complex sqldatasource in 3-tier architecture 【发布时间】:2012-08-05 15:29:04 【问题描述】:我已经实现了一个三层架构,可以在下面的链接中看到
http://geekswithblogs.net/edison/archive/2009/04/05/a-simple-3-tier-layers-application-in-asp.net.aspx
在上面的示例中,它使用 DataTable 作为 sqldatasource 并使用以下代码将其绑定到 gridview。
GridView1.DataSource = Client.GetClients();
GridView1.DataBind();
但是我的数据源不是数据表,它是一个常规的 sqldatasource,您可以在其中编辑、删除和更新。所以我不知道如何将它与我的表示层分开,还是应该真正分开?这是我的sqldatasource的代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDbConn %>"
DeleteCommand="DELETE FROM [OrderDetail] WHERE [RowNo] = @RowNo" InsertCommand="INSERT INTO [OrderDetail] ([FileNo], [PONumber], [MaterialCode], [MaterialDescription], [MaterialCategory], [UnitOfMeasure], [Quantity], [ContainerType], [LoadingDate]) VALUES (@FileNo, @PONumber, @MaterialCode, @MaterialDescription, @MaterialCategory, @UnitOfMeasure, @Quantity, @ContainerType, @LoadingDate)"
SelectCommand="SELECT * FROM [OrderDetail]" UpdateCommand="UPDATE [OrderDetail] SET [FileNo] = @FileNo, [PONumber] = @PONumber, [MaterialCode] = @MaterialCode, [MaterialDescription] = @MaterialDescription, [MaterialCategory] = @MaterialCategory, [UnitOfMeasure] = @UnitOfMeasure, [Quantity] = @Quantity, [ContainerType] = @ContainerType, [LoadingDate] = @LoadingDate WHERE [RowNo] = @RowNo">
<DeleteParameters>
<asp:Parameter Name="RowNo" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="FileNo" Type="Int32" />
<asp:Parameter Name="PONumber" Type="String" />
<asp:Parameter Name="MaterialCode" Type="String" />
<asp:Parameter Name="MaterialDescription" Type="String" />
<asp:Parameter Name="MaterialCategory" Type="String" />
<asp:Parameter Name="UnitOfMeasure" Type="String" />
<asp:Parameter Name="Quantity" Type="Int32" />
<asp:Parameter Name="ContainerType" Type="String" />
<asp:Parameter Name="LoadingDate" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="FileNo" Type="Int32" />
<asp:Parameter Name="PONumber" Type="String" />
<asp:Parameter Name="MaterialCode" Type="String" />
<asp:Parameter Name="MaterialDescription" Type="String" />
<asp:Parameter Name="MaterialCategory" Type="String" />
<asp:Parameter Name="UnitOfMeasure" Type="String" />
<asp:Parameter Name="Quantity" Type="Int32" />
<asp:Parameter Name="ContainerType" Type="String" />
<asp:Parameter Name="LoadingDate" Type="String" />
<asp:Parameter Name="RowNo" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
【问题讨论】:
这看起来不像 MVC 类型的架构吗?你必须在选择中放一些东西,否则它不能被绑定 【参考方案1】:SqlDataSource 不适合 3 层架构。 怎么做取决于你。您不必将其分开,但如果您想在这里拥有适当的 3 层架构,您需要在数据层中使用某种具有 CRUD 操作的数据库处理类。
您链接的文章清楚地解释了这一点。如果你不想使用 DataTable,你可以创建自己的 POCO 对象来处理类似的数据
public class Order ...
您的业务层方法如下所示
List<Order> GetOrders(...) ...
和数据
//CRUD naming convention
List<Order> ReadOrders (...) ...
【讨论】:
【参考方案2】:上面罗兰的回答已经解决了:-
-
关于分层架构(假设 DAL / BL / UI 的拆分)如何与使用 SQLDataSource 不相关,因为在使用 SQLDataSource 时没有这种分离。
如何在不使用 SQLDataSouce 的情况下使用 POCO/数据表将其分离出来
关于你问题的最后一部分,我会给出 0.02 美元:-
-
真的要分开吗?
嗯,就像最现实的答案一样。这取决于。
这取决于诸如 - 您拥有 3 层架构的主要原因是什么?这种设计的一些优点包括更好的可维护性、更好的可测试性甚至更好的可扩展性。相反,使用 SQLDataSource 可能会加快您的开发速度。
我个人的经验是,由于上述某些原因,分层设计通常是一个更好的主意,因此我通常会避免使用 SQLDataSource,甚至 SQLDataSource 的开发速度优势也可以通过使用代码来抵消 - CodeSmith 等生成器。所以,从长远来看,我根本看不到使用 SQLDataSource 的任何好处
【讨论】:
以上是关于vs2010中,sqldatasource空间配置数据源的数据库框要怎么填?的主要内容,如果未能解决你的问题,请参考以下文章
VS2008+SQL2005,用SqlDataSource控件新建数据库连接,无法打开数据源,说没有权限。
SqlDataSource.FilterExpression Property
添加 ASP.NET 文件夹和 App_Code 命名空间中缺少 VS 2010 App_folder
请问如何在vs2010下配置opencv2.2,求详细步骤,万分感谢!