.NET中如何逐条读取数据库表里的数据

qq_514XXXXX2 2017-10-31 09:25:52
全部代码如下:
using System;
using System.Data;
using System.Web.Configuration;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
SqlHelper data = new SqlHelper();
Alert alert = new Alert();
protected void Page_Load(object sender, EventArgs e)
{

}

private void CreateCommand(string queryString, string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandTimeout = 60;//单位为秒
command.CommandType = CommandType.Text;
command.CommandText = queryString;
connection.Open();
SqlDataReader reader = command.ExecuteReader();
string str2 = "";
while (reader.Read())
{
str2 = string.Format("{0}{1:C2}", reader[0], reader[0]);
this.ListBox1.Items.Add(str2);
}
}
}

protected void Button1_Click(object sender, EventArgs e)
{
string queryString = "select sound from Void ";
string connectionString = WebConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
CreateCommand(queryString, connectionString);
}
}
我一运行 显示了全部的数据库表里内容,我想要的是逐条读取内容,而且只有一列数据即可,现在是两列,如图:


还有就是我多点下按钮,理应不会加上去(即只有数据库里的内容),现在确变成2份了,如图:


大致问题就这2个:1,如何逐条读取数据,且只要1列即可(且只显示1行,直到读取到数据库最后一行数据);
2,数据内容只要1份就行,即便多点了几次按钮,也显示1条数据,也是递增读取。
如若还没了解我的问题,可以加企鹅 514314112,进行详谈。
求各位大神指教了!!小弟在此谢过了。

...全文
648 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_514XXXXX2 2017-11-01
  • 打赏
  • 举报
回复
我在Page_Load里也加了 if (!IsPostBack) { } 还是一样,多点几下查询按钮,数据一样加上去的
HL_GT 2017-11-01
  • 打赏
  • 举报
回复
因为你读取了两次数据库,在页面加载里要写这句话“if(!ispostback)”,这样你在重复点击按钮就不会重复添加了!
xdashewan 2017-10-31
  • 打赏
  • 举报
回复
现在就是读了一列,显示两列是str2 = string.Format("{0}{1:C2}", reader[0], reader[0]);引起的 每次只显示一行,就要传行号或id,sql要改成按行号或id取1条
正怒月神 版主 2017-10-31
  • 打赏
  • 举报
回复
你取一行一列,那就用ExecuteScalar 具体用法,网上查就知道了。
qq_514XXXXX2 2017-10-31
  • 打赏
  • 举报
回复
你这reader.close(); 不对啊,有错的
编程有钱人了 2017-10-31
  • 打赏
  • 举报
回复
SqlDataReader reader = command.ExecuteReader(); string str2 = ""; while (reader.Read()) { str2 = string.Format("{0}{1:C2}", reader[0], reader[0]); this.ListBox1.Items.Add(str2); } reader.close(); //记得关闭
qq_514XXXXX2 2017-10-31
  • 打赏
  • 举报
回复
菜鸟不太懂,大神们包涵下,教教我
正怒月神 版主 2017-10-31
  • 打赏
  • 举报
回复
你的意思是,你需要 command.ExecuteScalar();
丰云 2017-10-31
  • 打赏
  • 举报
回复
既然用c#开发,为什么不用ef处理数据,还用这中老掉牙的ado.net????
qq_514XXXXX2 2017-10-31
  • 打赏
  • 举报
回复
现在问题只剩下如何逐条显示,各位大神们求解,最好在我给的代码上做修改,谢谢了!!! 要求:逐条读取数据,且点第一次按钮显示的是第一行数据,点第2次显示的是第二行数据,直到输到最后一行

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧