设置每次增长1条数据
listBox1.Items.Add("连接源数据库成功......");
listBox1.Items.Add("连接目标数据库成功......");
listBox1.Items.Add("正在同步... ...");
try
{
for (int i = 0; i < dttb.Rows.Count; i++)//根据判断条件循环更新数据库中的信息
{
/*2015/2/2 调整:不能把菜单全部删除,没有的添加到服务器上去,已存在的过滤掉*/
lastSQL = "select * from " + tbName + " where sCode= '" + dttb.Rows[i][0].ToString().Trim() + "'";
//更新dttb1:一条记录 判断是否存在<过滤:新增>
/*测试数据库:源库和目标库一致 后期调整目标库连接字符串*/
dttb1 = IsOpenDT(lastSQL, strdbPreg);
//目标库中存在一条数据 取消
if (dttb1 != null && dttb1.Rows.Count > 0)
{
a = a + 1;
listBox1.Items.Add("已过滤" + a.ToString() + "条!");
}
else
{
string valuse = "";
string allcolumName = "";
for (int j = 0; j < dttb1.Columns.Count; j++)
{
if (j == dttb1.Columns.Count - 1)
{
allcolumName += dttb1.Columns[j].ColumnName.ToString();
}
else
{
allcolumName += dttb1.Columns[j].ColumnName.ToString() + ",";
}
}
//如果在线库中的时间为空则进行插入操作
for (int j = 0; j < dttb.Columns.Count; j++)
{
if (j == dttb.Columns.Count - 1)
{
valuse += "'" + dttb.Rows[i][j].ToString() + "'";
}
else
{
valuse += "'" + dttb.Rows[i][j] + "',";
}
}
lastSQL = "insert into " + tbName + " (" + allcolumName + ") values (" + valuse + ")";
IsOpen(lastSQL, strdbPreg);
b = b + 1;
listBox1.Items.Add("已插入" + b.ToString() + "条!");
}
/*2015/2/2 调整:新增[进度条]追加显示加载信息*/
progressBar1.Value += progressBar1.Step;//让进度条增加一次
}
}
catch (Exception ex)
{
fslog(ex);
}
if ((a + b) > 0)
{
listBox1.Items.Add(tbName + "成功过滤" + a + "条数据条数据,成功插入" + b + "条数据!");
listBox1.Items.Add(tbName + "同步数据成功!");
//tureOfalse = false;
preg.Abort();//线程执行标识:同步成功 关闭线程
//UPINlog(a, b, tbName);
}
else
{
listBox1.Items.Add("");
}
}
12,此段代码相当于sqlhelper.cs功能【连接数据库】:
///
/// 执行SQL语句
///
/// SQL语句
/// bool值,成功返回true,失败返回false
public static bool ExecuteSql(string SQLString)
{
bool isSucc = false;
using (SqlConnection connection = new SqlConnection("Data Source=192.168.44.161;Initial Catalog=NewHmFrameWork_QHS_SQ_QingHai;Persist Security Info=True;User ID=sa;Password=jqkj123$%^;"))
{
connection.Open();
using (SqlTransaction trans = connection.BeginTransaction())
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
cmd.Transaction = trans;
int rows = cmd.ExecuteNonQuery();
trans.Commit();
isSucc = true;
}
}
}
return isSucc;
}
13,初始化托盘图标
///
/// 初始化托盘图标
///
public void InitTrayIcon()
{
// 设置托盘图标的菜单
trayIcon.Icon = mNetTrayIcon;
trayIcon.Text = "单击最大化程序";
trayIcon.Visible = true;
trayIcon.Click += new EventHandler(trayIcon_Click);
MenuItem[] mnuItems = new MenuItem[4];
mnuItems[0] = new MenuItem();
mnuItems[0].Text = "显示";
mnuItems[0].Click += new EventHandler(Item0_Click);
mnuItems[1] = new MenuItem();
mnuItems[1].Text = "隐藏";
mnuItems[1].Click += new EventHandler(Item1_Click);
mnuItems[2] = new MenuItem("-");
mnuItems[3] = new MenuItem();
mnuItems[3].Text = "退出程序";
mnuItems[3].Click += new EventHandler(Item3_Click);
trayIcon.ContextMenu = new ContextMenu(mnuItems);
}
14,显示窗体,隐藏窗体,退出事件,点击托盘图标,单击X退出程序,
///
/// 显示窗体
///
///
///
void Item0_Click(object sender, EventArgs e)
{
this.Show();
}
///
/// 隐藏窗体
///
///
///
void Item1_Click(object sender, EventArgs e)
{
this.Hide();
this.trayIcon.ShowBalloonTip(5, "提示", "单击最大化程序", ToolTipIcon.Info);
}
///
/// 退出事件
///
///
///
void Item3_Click(object sender, EventArgs e)
{
preg.Abort();
Application.Exit();
}
///
/// 点击托盘图标
///
///
///
void trayIcon_Click(object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Maximized;
}
///
/// 单击X退出程序
///
///
///
private void form_Closing(object sender, FormClosingEventArgs e)
{
if (one == false)
{
DialogResult dia = MessageBox.Show("是否真的退出程序!", " ", MessageBoxButtons.OKCancel);
if (dia == DialogResult.Cancel)
{
e.Cancel = true;
this.Show();
this.trayIcon.Visible = true;
}
if (dia == DialogResult.OK)
{
one = true;
/*2015/2/2 调整:退出[未同步时,直接退出]*/
preg = new Thread(new ThreadStart(PREG));
preg.Start();
preg.Abort();
Application.Exit();
}
}
}





