导出数据日期和时间点到当前日期和时间

问题描述:

我对此脚本有问题。每当我将这组代码导出到文本文件时,我都希望根据我选择的日期和时间打印它,但它会显示“Sales-23-07-2012”。导出数据日期和时间点到当前日期和时间

例如,我想将文本文件是为“销售 - (我选的日期)”而不是“销售-23-07-2012”请帮助。

namespace MedicalDataExporter 

{ 

    public partial class frmSales : Form 
    { 
     public frmSales() 
     { 
      InitializeComponent(); 
     } 

    private void dtpFrom_ValueChanged(object sender, EventArgs e) 
    { 

    } 

    private void btnExtract_Click(object sender, EventArgs e) 
    { 

     SqlConnection objConn = new SqlConnection("Data Source=AKC-105DR-CMS01\\GLOCO;Initial Catalog=Medprac;Persist Security Info=True;User ID=sa;Password=""); 

     objConn.Open(); 

     SqlCommand objCmd = new SqlCommand("SELECT CONVERT(char(80), InvDate,3) AS InvDate,InvoiceNo,EmployerCode,TaxAmount + SubTotal AS Amount,'' AS Payment FROM Invoice WHERE (InvDate >= CONVERT(datetime, '"+dtpFrom.Text +"', 105)) AND (InvDate <= CONVERT(datetime, '"+dtpTo.Text+"', 105))", objConn); 

     SqlDataReader objReader; 
     objReader = objCmd.ExecuteReader(); 

     System.IO.FileStream fs = new System.IO.FileStream("C:\\CMSExportedData\\Sales-" + DateTime.Now.ToString("dd-MM-yyyy") + ".txt", System.IO.FileMode.Create); 
     System.IO.StreamWriter sw = new System.IO.StreamWriter(fs, System.Text.Encoding.Default); 

     int count = 0; 
     while (objReader.Read()) 
     { 

      for (int i = 0; i < 5; i++) 
      { 
       if (!objReader.IsDBNull(i)) 
       { 
        string s; 
        s = objReader.GetDataTypeName(i); 
        //MessageBox.Show(s); 
        if (objReader.GetDataTypeName(i) == "char") 
        { 
         sw.Write(objReader.GetString(i)); 
        } 
        else if (objReader.GetDataTypeName(i) == "money") 

        { 
         sw.Write(objReader.GetSqlMoney(i).ToString()); 
        } 
        else if (objReader.GetDataTypeName(i) == "nvarchar") 
        { 
         sw.Write(objReader.GetString(i)); 
        } 
       } 
       if (i < 4) 
       { 
        sw.Write("\t"); 
       } 

      } 
      count = count + 1; 
      sw.WriteLine(); 

     } 
     sw.Flush(); 
     fs.Close(); 
     objReader.Close(); 
     objConn.Close(); 
     MessageBox.Show(count + " records exported successfully."); 
     this.Close(); 
    } 

    private void groupBox1_Enter(object sender, EventArgs e) 
    { 

    } 

    private void dtpTo_ValueChanged(object sender, EventArgs e) 
    { 

    } 

    private void frmSales_Load(object sender, EventArgs e) 
    { 

    } 
} 

}

+0

嗯,你是哪里人 “中选择” 您的日期值?既然这样,你_explicitly_告诉文件名包括'DateTime.Now':'System.IO.FileStream FS =新System.IO.FileStream( “C:\\ \\ CMSExportedData销售 - ” + DateTime.Now。的ToString(“DD-MM-YYYY”)+“.TXT”,System.IO.FileMode.Create);' – David 2012-07-23 01:35:24

+0

哦,我明白你的意思了,有没有办法选择的日期和时间,类别先生打印? – Newbie 2012-07-23 01:37:57

+0

我不确定你是否明白我的意思......哪里有选定的日期和时间?这个价值是如何“被选择”的? – David 2012-07-23 01:38:49

你真的只是张贴与管理员密码一个完整的连接字符串?

不管怎样,更换DateTime.Now.ToString("dd-MM-yyyy")

myDateControlOnTheForm.Text 
+0

当我改变了它表明我这个错误“名称‘myDateControlOnTheForm – Newbie 2012-07-23 01:53:41

+0

@Newbie’在目前情况下不存在”:这让我们回到原来的问题,这是你首先得到这个价值的地方。回答者在这里假设你对用于输入日期的表单有一定的控制。如果你在答案中没有看到,那么这听起来像是这个问题有点误导。你没有那么问:“我如何使用特定的日期?”而应该问“如何收集用户的输入?”这是一个非常不同的问题,也许可以通过从某个教程中学习一些基本的C#应用​​程序开发来得到最好的回答。 – David 2012-07-23 01:55:59

+0

这组代码用于从SQL数据库中获取值。因此,用户点击日历并选择日期并将所选日期打印为文本文件的标题。 是的,我会去和做一些阅读刷上C# – Newbie 2012-07-23 02:01:36