vs2010中,sqldatasource空间配置数据源的数据库框要怎么填?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2010中,sqldatasource空间配置数据源的数据库框要怎么填?相关的知识,希望对你有一定的参考价值。

参考技术A 先安装mysql
connetor
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,求详细步骤,万分感谢!

为啥我在vs2010下编写代码的时候代码下面会出现红色波浪线?

VS2010如何把相关配置保存了