如何使用 c#asp.net 将数据库中的数据插入到表中?
Posted
技术标签:
【中文标题】如何使用 c#asp.net 将数据库中的数据插入到表中?【英文标题】:How to insert data from database into a table using c# asp.net? 【发布时间】:2021-08-15 15:01:27 【问题描述】:我对 asp.net 和 c# 还很陌生,我已经连接到一个 SQL 数据库,现在我想将我拥有的数据显示到一个表中。
这是我的后端:
public string getWhileLoopData()
string htmlStr = "";
SqlConnection conn = new SqlConnection("Data Source = secret;Initial Catalog = GTI;Persist Security Info = True;Integrated Security = true;User ID = user;Password = pass;");
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM [CORE_SYS_STATUS]", conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
int ID = reader.GetInt32(0);
int SYSTEM_NAME = reader.GetInt32(0);
int SYSTEM_STATUS = reader.GetInt32(0);
int SYSTEM_SHORTMSG = reader.GetInt32(0);
htmlStr += "<tr><td>" + ID + "<tr><td>" + SYSTEM_NAME + "<tr><td>" + SYSTEM_STATUS + "<tr><td>" + SYSTEM_SHORTMSG;
conn.Close();
return htmlStr;
这是我的前端:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="ContentPlaceHolder">
<div class="bg-light text-center bg-light rounded border border-dark m-4">
<div class="col-md-12">
<h1 class="display-4 text-center p-4">Gestão de Alertas</h1>
<table class="table table-bordered table-hover text-center p-4 border border-dark">
<thead>
<tr class="table-success disabled">
<th style="width: 5%" scope="col">ID</th>
<th style="width: 20%" scope="col">Nome</th>
<th style="width: 15%" scope="col">Status</th>
<th style="width: 45%" scope="col">Mensagem</th>
</tr>
</thead>
<tbody>
<!-- I want to insert data here -->
</tbody>
</table>
</div>
</div>
</asp:Content>
结果如下: Result
它可能看起来很傻很简单,但我对这个编程很陌生,如果有人能帮助我弄清楚如何将我的数据插入到表中,我会很高兴。谢谢!
【问题讨论】:
我不知道如何添加 HTML 节点,但我可以给你一些其他的思考:不要在代码中嵌入连接字符串,把它放在一个设置文件中。如果Integrated Security = true
则忽略用户名和密码。连接、命令和阅读器对象应位于using
块中。不要select *
,如果不需要,请指定您需要的确切列。
【参考方案1】:
有很多方法可以实现这一点。
我建议查看有关 DataBinding 的文档,例如:
Retrieving data in aspnet web-forms
GridView DataBind(看那里的样本)
此外,您应该查看有关 GetInt32 的文档: GetInt32 MSDN
参数是 select 语句中列的索引,你总是传递 0,这肯定不是你想要的。我还建议在 select 语句中明确命名您想要的列,而不是使用 select *。
【讨论】:
【参考方案2】:对于快速解决方案,您可以将 <%=getWhileLoopData()%>
替换为 <asp:Literal />
控件;在您的代码隐藏中,将其 Text 属性设置为 (getWhileLoopData)。
如果您是 ASP.NET 新手,学习 WebForms 数据绑定将需要一段时间,因为它有一些规则和特性需要您掌握。老实说,除非你必须在 WebForms 中构建这个东西,否则你应该开始学习 ASP.NET MVC,WebForms 是一种死技术。
【讨论】:
【参考方案3】:<% HtmlString str = new HtmlString(getWhileLoopData()); %>
<%= str %>
【讨论】:
你能解释一下你的方法吗?以上是关于如何使用 c#asp.net 将数据库中的数据插入到表中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jquery asp.net mvc 将多个数据插入到数据库中的 2 个表中
如何通过 ASP.net 网站将新条目插入 Access db 表?
在asp.net中如何对oracle数据库执行批量插入数据?
使用 c# asp.net 获取 XML 数据并插入到 sql server