簡體   English   中英

如何從.net應用程序的SQL Server數據庫中將數據保存在客戶端計算機目錄中?

[英]How to save the data in a Client machine directory from SQL Server database of a .net application?

我已經使用控制台應用程序編寫了以下C#代碼,以從數據庫中獲取數據並將其保存在.CSV文件中。

我的問題是:在這里,我將保存到本地計算機上已經存在的EXCEL文件。 但是我希望代碼可以在客戶端計算機目錄之一中創建一個文件並保存數據。 如何相應地更改此代碼?

我在asp.net應用程序中將此代碼用於BUTTON_Click EVENT。 那時候我需要添加任何名稱空間嗎?!

class Program
{
    static void Main(string[] args)
    {
        string strConn = "Data Source=ARYAANCLASS;Initial Catalog=Master;Integrated Security=True";

        SqlConnection conn = new SqlConnection(strConn);

        SqlDataAdapter da = new SqlDataAdapter("select * from QuickBook", conn);

        DataSet ds = new DataSet();

        da.Fill(ds, "QuickBooks");

        DataTable dt = ds.Tables["QuickBooks"];

        StreamWriter sw = new StreamWriter(@"d:\Rudresh\QuickBookData.csv", false);

        int iColCount = dt.Columns.Count;

        for (int i = 0; i < iColCount; i++)
        {
            sw.Write(dt.Columns[i]);

            if (i < iColCount - 1)
            {
                sw.Write(",");
            }
        }

        sw.Write(sw.NewLine);

        foreach (DataRow dr in dt.Rows)
        {
            for (int i = 0; i < iColCount; i++)
            {
                if (!Convert.IsDBNull(dr[i]))
                {
                    sw.Write(dr[i].ToString());
                }

                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }

            sw.Write(sw.NewLine);
        }

        sw.Close();
    }
}

我認為您不了解客戶端/服務器端的含義。

您編寫的程序是一個客戶端程序,因此,如果用戶在其計算機上打開可執行文件,它應該可以工作(或多或少有一些改進,例如:測試寫入文件夾是否存在,否則創建它)。

他還必須能夠連接到數據庫,因此圍繞SQL連接的“ try catch”塊不是一個壞計划。

如果您嘗試創建網頁,則完全不同。 無法將文件“保存”到客戶位置。 然后,您必須將其保存在服務器上的Web用戶可訪問的文件夾中,例如www / savedcsv文件夾中。 然后,當流完成時,將“ Web用戶”重定向到文件夾www.mydomain.com/savedcsv/newfile.csv,他將能夠下載它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM