参考参考文章
for(int i=0;i<10;i++)
{
FileStream stream= File.Create("d:\\"+i+".txt");
StreamWriter write = new StreamWriter(stream);
write.Write("aaaa");
write.Close();
write.Dispose();
}
private void button3_Click(object sender, EventArgs e)
{
if (wenpath != null && wenpath != "")
{
string qunp;
db b = new db();
//创建连接字符串
string path = wenpath;
//string databaseFileName = "C:/QQ.db";
//string connectionString = "data source = " + databaseFileName;
//链接数据库
//SQLiteConnection dbConnection = new SQLiteConnection(connectionString);
//打开数据库
//dbConnection.Open();
//sql语句
string sql = "select name from sqlite_master where type='table' order by name;";
//加载sql
SQLiteCommand cd = new SQLiteCommand(sql, b.lian(path));
//执行
SQLiteDataReader dr = cd.ExecuteReader();
//
//查询所有表名
while (dr.Read())//读取
{
try
{
//Console.Write(dr["name"]+"\n");
string str = dr["name"].ToString();
if (str.Length > 12)//过滤小于9的表名,因为用户消息与群消息的表名都大于9
{
qunp = str.Substring(0, 12);
string pan = str.Substring(0, 9);
//Console.Write(pan + "\n" + "我是");
if (pan == "tb_c2cMsg")
{//判断是用户消息还是群消息
string pp = str;
//string str1 = dr["name"].ToString();
//string pan1 = str1.Substring(0, 9);
//Console.Write(str + "\n");
string sqls = "select * from '" + str + "';";
//加载sql
SQLiteCommand cds = new SQLiteCommand(sqls, b.lian(path));
//执行
SQLiteDataReader drs = cds.ExecuteReader();
if (drs.Read())//读取
{
string count;
string sqlc = "select count(*) as num from '" + str + "';";//获取消息数量
//加载sql
SQLiteCommand cdsc = new SQLiteCommand(sqlc, b.lian(path));
//执行
SQLiteDataReader drc = cdsc.ExecuteReader();
if (drc.Read())
{
count = drc["num"].ToString();
//Console.Write(count+"\n");
}
//Console.Write(drs["uin"]);
DateTime d = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));//将时间戳转年月日
long t = long.Parse(drs["time"] + "0000000");
TimeSpan to = new TimeSpan(t);
//Console.Write(d.Add(to) + "\n");
var time6 = d.Add(to);
ListViewItem lt = new ListViewItem();
//将数据库数据转变成ListView类型的一行数据
lt.Text = drs["uin"].ToString();
lt.SubItems.Add(time6.ToString());
lt.SubItems.Add(drc["num"].ToString());
//将lt数据添加到listView1控件中
listView1.Items.Add(lt);
}
}
else if (qunp == "tb_TroopMsg_" && str.Length > 16)//过滤表名开头是troopm但小于12个字符,因为这不是有内容的表
{//判断是群消息
//if (str.Length > 16 && qunp == "tb_TroopMsg_")
//{
string qun;
try
{
Console.Write(str + ".." + str.Length + "\n");
//string pan1 = str.Substring(9, 12);
qun = str.Substring(12);
Console.Write(qun + "\n");
}
catch (Exception e2)
{
Console.Write(e2 + "群错");
}
//}
string pp = str.Substring(0, 12);
if (pp == "tb_TroopMsg_" && str.Length > 12)
{
//string pan1 = str.Substring(0, str.Length);
//Console.Write(pan1 + "\n"+str.Length+"\n");
//string qun = str.Substring(4, str.Length);
//Console.Write(str+"\n");
string sqls = "select * from '" + str + "';";
//加载sql
SQLiteCommand cds = new SQLiteCommand(sqls, b.lian(path));
//执行
SQLiteDataReader drs = cds.ExecuteReader();
if (drs.Read())//读取
{
string count;
string sqlc = "select count(*) as num from '" + str + "';";//获取消息数量
//加载sql
SQLiteCommand cdsc = new SQLiteCommand(sqlc, b.lian(path));
//执行
SQLiteDataReader drc = cdsc.ExecuteReader();
if (drc.Read())
{
count = drc["num"].ToString();
//Console.Write(count+"\n");
}
//Console.Write(drs["uin"]);
DateTime d = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));//将时间戳转年月日
long t = long.Parse(drs["MsgTime"] + "0000000");
TimeSpan to = new TimeSpan(t);
//Console.Write(d.Add(to) + "\n");
var time6 = d.Add(to);
ListViewItem lt = new ListViewItem();
//将数据库数据转变成ListView类型的一行数据
lt.Text = "群" + str.Substring(12);
lt.SubItems.Add(time6.ToString());
lt.SubItems.Add(drc["num"].ToString());
//将lt数据添加到listView1控件中
listView1.Items.Add(lt);
}
}
//string str1 = dr["name"].ToString();
//string pan1 = str1.Substring(0, 9);
//Console.Write(str + "\n");
// pan1 = pp.Substring(0, pp.Length);
//Console.Write(pan1+"\n");
}
else
{
Console.Write(str + "群不匹配");
}
}
else
{
Console.Write(str + "用户消息不匹配");
}
}
catch (Exception e1)
{
Console.Write(e1 + "下面的出错了");
}
}
}
else
{
MessageBox.Show("还没选对应QQ.db文件");
}
}