繁体   English   中英

如何从数据库读取数据并将其写入txt文件?

[英]How to read data from database & write it on a txt file?

我想使用文本文件上的Windows服务从服务器数据库中检索数据吗?我可以吗?我该怎么做?我的意思是我知道要创建一个窗口服务,但我对SQL连接和文件编写部分感到困惑执行它?我尝试了一些东西

class Program
{
    static void Main(string[] args)
    {
        RunSchedule();
    }
    public static void RunSchedule()
    {
        string path = Path.GetFullPath("d:\\MyTest") + "\\" + DateTime.Now.ToString("MM_dd_yyyy_HH_mm") + "_Log.txt";
        try
        {


            if (!File.Exists(path))
            {
                File.Create(path);
                SqlConnection conn = new SqlConnection("Data Source=...;Initial Catalog=Test;User ID=s_a;Password=sa56ta112;");
                String sql = @"SELECT Id,UserName, Email,Password,CreatedDate
                  FROM Register";
                SqlCommand com = new SqlCommand();
                com.CommandText = sql;
                //com.Connection = conn;
                conn.Open();
                StreamWriter tw = File.AppendText("d:\\MyTest");
                SqlDataReader reader = com.ExecuteReader();
                tw.WriteLine("Id,UserName,Email,Password,CreatedDate");
                while (reader.Read())
                {
                    tw.Write(reader["Id"].ToString());
                    tw.Write(" , " + reader["UserName"].ToString());
                    tw.Write(" , " + reader["Email"].ToString());
                    tw.Write(" , " + reader["Password"].ToString());
                    tw.Write(" , " + reader["CreatedDate"].ToString());
                }
                tw.WriteLine(DateTime.Now);
                tw.WriteLine("---------------------------------");
                tw.Close();
                reader.Close();
                conn.Close();
            }
        }
        catch (Exception ex)
        {
            string errorLogPath = @"D:\MyTest.txt";
            File.AppendAllText(errorLogPath, Environment.NewLine + ex.Message);
        }
    }
}

我做对了吗? 请指导我。

while (reader.Read())

{
    row = new DataRow();
    row.ItemArray = new object[reader.FieldCount];
    reader.GetValues(row.ItemArray);
    foreach (object item in row.ItemArray)
    {
        streamWriter.Write((string)item + "\t");
    }
    streamWriter.WriteLine();

}

如果出现“拒绝访问路径'd:\\ MyTest'。” 错误,请转到解决方案资源管理器中的txt文件属性,然后将“复制到输出目录”属性从“不复制到副本(如果较新则复制到)”或“始终复制”更改为

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM