zoukankan      html  css  js  c++  java
  • 019. Asp.net将SqlServer中的数据保存到xls/txt中

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string cmdtxt1 = "server=.;database=TYW;uid=sa;pwd=123456;";
                //ConfigurationSettings.AppSettings["strCon"];
                //定义查询所有的数据库的SQL语句
                string cmdtxt2 = "Exec sp_helpdb"; //Exec sp_helpdb 获取该服务器上所有数据库的库信息(包含库名/大小/所有者)
                //创建数据库连接对象
                SqlConnection Con = new SqlConnection(cmdtxt1);
                //打开数据库连接
                Con.Open();
                //创建命令对象
                SqlCommand mycommand = new SqlCommand(cmdtxt2, Con);
                //创建一个数据阅读器
                SqlDataReader dr = mycommand.ExecuteReader();
                ArrayList a = new ArrayList();
                while (dr.Read())
                {
                    a.Add((String)dr["name"]);
                    this.dropDatabase.DataSource = dr;
                    this.dropDatabase.DataTextField = "name";
                    this.dropDatabase.DataBind();
                }
                dr.Close();
               string cmdtxt3 = "use " + this.dropDatabase.SelectedValue + " SELECT * FROM " + this.dropDatabase.SelectedValue + ".dbo.sysobjects"; //切换到用户所选择的库, 然后查出所有该库中所有的表名
                cmdtxt3 += " WHERE xtype='U' AND STATUS>=0";    //并且类型为U(用户类型), 且状态大于等于0
                mycommand.CommandText = cmdtxt3;
                foreach (String Database in a)
                {
                    Con.ChangeDatabase(Database);
                    dr = mycommand.ExecuteReader();
                    while (dr.Read())
                    {
                        this.dropTable.DataSource = dr;
                        this.dropTable.DataTextField = "name";
                        this.dropTable.DataBind();
                    }
                    dr.Close();
                }
                //关闭数据库连接
                Con.Close();
            }
        }
    
        //更新对应的表名
        protected void dropDatabase_SelectedIndexChanged(object sender, EventArgs e)
        {
            string cmdtxt1 = "server=.;database=TYW;uid=sa;pwd=123456;";
            SqlConnection Con = new SqlConnection(cmdtxt1);
            Con.Open();
            string cmdtxt3 = "use " + this.dropDatabase.SelectedValue + " SELECT * FROM " + this.dropDatabase.SelectedValue + ".dbo.sysobjects";
            cmdtxt3 += " WHERE xtype='U' AND STATUS>=0";
            SqlCommand mycommand1 = new SqlCommand(cmdtxt3, Con);
            SqlDataReader dr1 = mycommand1.ExecuteReader();
            this.dropTable.DataSource = dr1;
            this.dropTable.DataTextField = "name";
            this.dropTable.DataBind();
            dr1.Close();
            Con.Close();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string strFileData = Server.MapPath("123.txt");//C:UsersLGDesktop248zmhh1_zmhhSQLToExceladmInfo.xls
           string cmdtxt1 = "server=.;database=TYW;uid=sa;pwd=123456;";
            //利用BCP实用工具将SQL Server数据库中数据导入到Excel文件中
            string cmdtxt2 = "USE master EXEC xp_cmdshell 'bcp " + this.dropDatabase.SelectedValue + ".dbo." + this.dropTable.SelectedValue + "";
            cmdtxt2 += " out " + strFileData + " -c -q -S. -Usa -P" + this.txtPwd.Text.Trim() + "'";
            //USE master EXEC xp_cmdshell 'bcp TYW.dbo.card out C:Users*8Desktop123.xls -c -q -S. -Usa -P123456'  利用这条语句将数据写入到文件中
            try
            {
                SqlConnection myconn = new SqlConnection(cmdtxt1);
                myconn.Open();
                SqlCommand Comd = new SqlCommand(cmdtxt2, myconn);
                Comd.ExecuteNonQuery();
                myconn.Close();
                Response.Write("<script language=javascript>alert('数据导入成功!');location='SQLToExcel.aspx'</script>");
            }
            catch (Exception ms)
            {
                Response.Write(ms.Message);
                Response.Write("<script language=javascript>alert('数据导入失败!');location='SQLToExcel.aspx'</script>");
            }
        }
    }
  • 相关阅读:
    netcore一键部署到linux服务器以服务方式后台运行
    查找100-999之间的水仙花数
    shell创建数据库的脚本
    python打印九九乘法表的菱形实现
    c++一些重要的细节
    MySQL数据库基础学习笔记(二)
    MySQL数据库基础学习笔记(一)
    react-redux 的基本使用
    react-router-dom基本使用+3种传参方式
    从create-react-app 项目搭建开始
  • 原文地址:https://www.cnblogs.com/wxylog/p/6144377.html
Copyright © 2011-2022 走看看