ASP.NETWeb表单-SQL转CSV输出极慢
创始人
2024-09-19 14:01:10
0

问题可能出在每次从数据库中检索数据时,都需要打开和关闭数据库连接。这会导致大量的性能开销。通过以下方法,可以在读取数据时仅打开一次数据库并将结果存储在内存中:

  1. 在代码中添加以下命名空间:using System.Data.SqlClient;
  2. 创建SqlConnection对象并打开连接:SqlConnection conn = new SqlConnection("connectionString"); conn.Open();
  3. 创建SqlCommand对象并将连接绑定到命令:SqlCommand cmd = new SqlCommand("SELECT * FROM Table", conn);
  4. 创建SqlDataReader对象并使用ExecuteReader()方法来执行命令并读取数据:SqlDataReader reader = cmd.ExecuteReader();
  5. 将数据存储在内存中,可以使用List或DataTable:List list = new List(); while(reader.Read()) { list.Add(reader["column_name"].ToString()); }
  6. 关闭连接:conn.Close();

下面是完整的代码示例:

using System.Data.SqlClient; using System.IO; using System.Text;

protected void Button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("connectionString"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM Table", conn); SqlDataReader reader = cmd.ExecuteReader();

StringBuilder csv = new StringBuilder();
while (reader.Read())
{
    csv.AppendLine(reader["column_name"].ToString());
}

reader.Close();
conn.Close();

Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("Content-Disposition", "attachment; filename=export.csv");
Response.Write(csv.ToString());
Response.End();

}

相关内容

热门资讯

iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
安卓系统拦截短信在哪,安卓系统... 你是不是也遇到了这种情况:手机里突然冒出了很多垃圾短信,烦不胜烦?别急,今天就来教你怎么在安卓系统里...
windows官网系统多少钱 Windows官网系统价格一览:了解正版Windows的购买成本Windows 11官方价格解析微软...