繁体   English   中英

ASP.NET MVC5实现SQL查询工具

[英]ASP.NET MVC5 implements SQL query Tool

我是ASP.NET MVC5的新人。

我想知道如何使用 MVC5 达到 function 以下:

在 MVC5 中,我设计了一个文本区域,用户可以输入 select 查询然后单击按钮执行 select function 并显示结果。 但是,有多个目标数据库,这意味着不同的表具有不同的列数。(用户可能每次 select 不同的表)

在开始使用 MVC5 之前,我做了一些类似的工作,例如:

1.在 Windows 表格 C# 中,我可以使用 DataSet 存储来自多个表的结果并使用 DataGridView object 显示结果

2.在 ASP.NET WebForm 中,我可以使用带有 < asp:GridView > 的 DataTable 来显示 select 查询结果

现在,使用 ASP.NET MVC5,用户界面已经完成。

但是当我搜索如何使用 MVC5 显示结果时,所有参考都显示我必须在 models.cs 中声明数据类型然后调用它。但是我有这么多表,每个表都包含不同的列数。 我卡住了。 q_q

你能给我一些提示或关键字来找到我需要的确切信息吗?

谢谢大家。 祝大家好。(如果我的陈述不能理解,请告诉我)

昨天下午我找到了实现这个 function 的方法,我成功地做到了。 → / MVC5 + ADO.NET /

我的问题是,我一开始无法设计模型(声明数据类型),因为该工具将用于查询多个 DataTable 和具有不同列数的每个 DataTable。(这可能是由于我对 EF 的了解较少。EF 是一项新技术为了我)

返回主题

(这可能不对)我在 Controller 中使用了 ADO.NET,在使用 DataSet 获取数据后,然后将值传递给 DataTable。 并返回带有 DataTable 的视图。

DBDataAdapter da = new DBDataAdapter(UserInputSQLCommand, conn);
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                da.Fill(ds, "result");
                dt = ds.Tables[0];
                return View(dt);

仅在结果页面中添加以下代码(.cshtml 文件)

<table border="1" cellpadding="5">
<thead>
    <tr>
        @foreach (System.Data.DataColumn col in Model.Columns)
        {
            <th>@col.Caption</th>
        }
    </tr>
</thead>
<tbody>
    @foreach (System.Data.DataRow row in Model.Rows)
    {
        <tr>
            @foreach (var cell in row.ItemArray)
            {
                <td>@cell.ToString()</td>
            }
        </tr>
    }
</tbody>

但我目前在同一查询页面上面临一些问题。 所以我为结果信息创建了新页面,它确实有效。

我的新挑战是在我添加的 sql 查询视图中

@model MyProjectName.Models.SqlQueryView

Visual Studio 报告没有行和列的定义。

然后当我创建一个新视图并且没有使用 @model 但它可以工作。 没有显示错误信息。 我想知道行和列可能是系统定义但是由于我使用@model 那么我需要声明它吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM