using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
using System.Threading;
using System.Globalization;
using System.Web;
namespace Redis_AddData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "";
}
int maxSize = 0; //16753
int minSize = 0;
int currentIndex = 0;
public static string tableName = "FA";
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
Thread trs = new Thread(new ThreadStart(dofor));
trs.IsBackground = true;
trs.Start();
progressBar1.Minimum = minSize;
string sql = "select count(id) from tablea ";
maxSize = Convert.ToInt32(databind.GetSingle(sql));
progressBar1.Maximum = maxSize;
}
public void dofor()
{
SetLableText("数据加载中...");
currentIndex = minSize;
string str = "";
string sql = "select * from tablea";
SqlDataReader dr = databind.GetExecuteReader(sql, false);
DataTable Mydt = attribute.GetTableSchema();
while (dr.Read()) //读取所有记录
{
CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo; //设置indexof 不区分大小写
#region 设置显示的标签进度
SetLableText(string.Format("当前行:{0},剩余量:{1},完成比例:{2}%", currentIndex, maxSize - currentIndex,
(Convert.ToDecimal(currentIndex - minSize) / Convert.ToDecimal(maxSize - minSize) * 100).ToString("f0")));
SetPbValue(currentIndex);
#endregion
...
this.BeginInvoke(new MethodInvoker(delegate()
{
button1.Enabled = false;
textBox1.Text = str;
}));
}
currentIndex++;
}
attribute.BulkToDB(Mydt);
this.BeginInvoke(new MethodInvoker(delegate()
{
button1.Enabled = true;
textBox1.Text = "完成";
}));
}
delegate void labDelegate(string str);
private void SetLableText(string str)
{
if (label1.InvokeRequired)
{
Invoke(new labDelegate(SetLableText), new string[] { str });
}
else
{
label1.Text = str;
}
}
delegate void pbDelegate(int value);
private void SetPbValue(int value)
{
if (progressBar1.InvokeRequired)
{
Invoke(new pbDelegate(SetPbValue), new object[] { value });
}
else
{
progressBar1.Value = value;
}
}
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。