111,125
社区成员
发帖
与我相关
我的任务
分享
private void DataToText()
{
while (true)
{
try
{
DataTable dt = daColl.GetTopOne();//获取数据库一行数据
int id = Convert.ToInt32(dt.Rows[0]["id"]);
if (dt != null && dt.Rows.Count != 0)
{
string day = dt.Rows[0]["create_day"].ToString();
string time = dt.Rows[0]["create_time"].ToString();
StringBuilder strContent = new StringBuilder();
strContent.Append(dt.Rows[0]["ip"].ToString() + "," + dt.Rows[0]["create_day"].ToString() + "," + dt.Rows[0]["create_time"].ToString() + ",");
strContent.Append(dt.Rows[0]["pages_id"].ToString() + "," + dt.Rows[0]["page_state"].ToString() + "," + dt.Rows[0]["projects_id"].ToString() + "," + dt.Rows[0]["medias_id"].ToString() + ",");
strContent.Append(dt.Rows[0]["ads_id"].ToString() + "," + dt.Rows[0]["pv"].ToString() + "," + dt.Rows[0]["uv"].ToString() + ",");
strContent.Append(dt.Rows[0]["city"].ToString() + "," + dt.Rows[0]["browser"].ToString() + "," + dt.Rows[0]["use_type"].ToString() + "," + dt.Rows[0]["use_system"].ToString()+"|");
#region 数据导入txt文件
if (Directory.Exists(day))
{
if (File.Exists(day + "/" + time + ".txt"))
{ //存在文件,写入该文件内
CreateFile(day, time, strContent.ToString(), 2, id);
}
else
{
//创建文件并写入
CreateFile(day, time, strContent.ToString(), 1, id);
}
}
else
{ //不存在,创建文件夹,在文件夹中创建ids.txt
Directory.CreateDirectory(day);
CreateFile(day, time, strContent.ToString(), 1, id);
}
#endregion
}
else
{
break;
}
dt.Dispose();
}
catch (Exception ex)
{
txtWrite(ex, "读取第一行数据错误");
}
}
thread.Abort();//结束线程
}
/// <summary>
/// 数据写入文件
/// </summary>
/// <param name="day">文件夹名称</param>
/// <param name="name">txt文件的名称</param>
/// <param name="content">内容</param>
/// <param name="type">写入的方式,1:创建名称文件并写入 2:写入文件名称的文件</param>
private void CreateFile(string day, string name, string content, int type, int id)
{
try
{
FileStream fs = null;
string url = day + "/" + name + ".txt";
if (type == 1)
{
fs = new FileStream(url, FileMode.Create);
}
else
{
fs = new FileStream(url, FileMode.Append);
}
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(content);
sw.Close();
sw.Dispose();
fs.Close();
fs.Dispose();
lblReadRow.Invoke(new myDelegate(AddreaderRow));
}
catch (Exception ex)
{
txtWrite(ex, "数据写入文件错误");
}
try
{
daColl.UpdateData(id);
}
catch (Exception ex)
{
txtWrite(ex, "更新数据库错误");
}
}
thread = new Thread(new ThreadStart(DataToText));
thread.Start();
