예제 #1
0
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (sure)
     {
         if (MessageBox.Show("确定要退出程序吗?", "退出提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
         {
             WriteLog.CreateLog(this.User.Username, "MainForm.FormClosing", "log", "用户:" + this.User.Username);
             LockSystem();
             if (Configs.MonitorNetwork)
             {
                 if (netMonitor.Adapters.Count() > 0)
                 {
                     netMonitor.StopMonitoring();
                 }
                 if (timer2.Enabled)
                 {
                     timer2.Stop();
                 }
             }
             notifyIcon1.Dispose();
             Environment.Exit(0);
         }
         else
         {
             e.Cancel = true;
             sure     = false;
         }
     }
     else
     {
         e.Cancel = true;
         this.Hide();
     }
 }
예제 #2
0
 public object GetSingle(string SQLString, int Times, bool backupDB = false)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             using (SqlCommand cmd = new SqlCommand(SQLString, connection))
             {
                 try
                 {
                     connection.Open();
                     cmd.CommandTimeout = Times;
                     object obj = cmd.ExecuteScalar();
                     if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                     {
                         return(null);
                     }
                     else
                     {
                         return(obj);
                     }
                 }
                 catch (System.Data.SqlClient.SqlException e)
                 {
                     connection.Close();
                     WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(GetSingle(string SQLString, int Times)函数)", "error", e.Message);
                     MessageBox.Show("数据库操作失败:" + e.Message);
                     return(-1);
                 }
             }
         }
     }
 }
예제 #3
0
 public int ExecuteSqlByTime(string SQLString, int Times, bool backupDB = false)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             using (SqlCommand cmd = new SqlCommand(SQLString, connection))
             {
                 try
                 {
                     connection.Open();
                     cmd.CommandTimeout = Times;
                     int rows = cmd.ExecuteNonQuery();
                     return(rows);
                 }
                 catch (System.Data.SqlClient.SqlException e)
                 {
                     connection.Close();
                     WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSqlByTime函数):", "error", e.Message);
                     MessageBox.Show("数据库操作失败:" + e.Message);
                     return(-1);
                 }
             }
         }
     }
 }
예제 #4
0
 /// <summary>
 /// 执行查询语句,返回DataTable
 /// </summary>
 /// <param name="SQLString">查询语句</param>
 /// <returns>DataTable</returns>
 public DataTable Query(string SQLString, bool backupDB = false, params SqlParameter[] cmdParms)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             SqlCommand cmd = new SqlCommand();
             PrepareCommand(cmd, connection, null, SQLString, cmdParms);
             using (SqlDataAdapter da = new SqlDataAdapter(cmd))
             {
                 DataTable dt = new DataTable();
                 try
                 {
                     da.Fill(dt);
                     cmd.Parameters.Clear();
                 }
                 catch (System.Data.SqlClient.SqlException ex)
                 {
                     WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(Query(string SQLString, params SqlParameter[] cmdParms)函数)" + SQLString, "error", ex.Message);
                     MessageBox.Show("数据库操作失败:" + ex.Message);
                 }
                 return(dt);
             }
         }
     }
 }
예제 #5
0
        /// <summary>
        /// 这就是我们要在发生未处理异常时处理的方法,我这是写出错详细信息到文本,给大家做个参考
        /// 做法很多,可以是把出错详细信息记录到文本、数据库,发送出错邮件到作者信箱或出错后重新初始化等等
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            string    str   = "";
            Exception error = e.Exception as Exception;

            if (error != null)
            {
                string strDateInfo = "出现应用程序未处理的线程异常:" + DateTime.Now.ToString() + "/r/n";
                str = string.Format(strDateInfo + "异常类型:{0}/r/n异常消息:{1}/r/n异常信息:{2}/r/n",
                                    error.GetType().Name, error.Message, error.StackTrace);
            }
            else
            {
                str = string.Format("应用程序线程错误:{0}", e);
            }

            StackTrace st         = new StackTrace(true);
            StackFrame sf         = st.GetFrame(0);
            string     fileName   = sf.GetFileName();
            Type       type       = sf.GetMethod().ReflectedType;
            string     assName    = type.Assembly.FullName;
            string     typeName   = type.FullName;
            string     methodName = sf.GetMethod().Name;
            int        lineNo     = sf.GetFileLineNumber();
            int        colNo      = sf.GetFileColumnNumber();

            WriteLog.CreateLog("内部操作", typeName + "=>" + methodName + "(" + lineNo + "行" + colNo + "列)", "error", str);

            MessageBox.Show("发生应用程序线程致命错误,请及时联系系统管理员!", "线程错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
예제 #6
0
 /// <summary>
 /// 执行SQL语句,返回影响的记录数
 /// </summary>
 /// <param name="SQLString">SQL语句</param>
 /// <returns>影响的记录数</returns>
 public int ExecuteSql(string SQLString, bool backupDB = false, params SqlParameter[] cmdParms)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             using (SqlCommand cmd = new SqlCommand())
             {
                 try
                 {
                     PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                     int rows = cmd.ExecuteNonQuery();
                     cmd.Parameters.Clear();
                     return(rows);
                 }
                 catch (System.Data.SqlClient.SqlException e)
                 {
                     WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSql(string SQLString, params SqlParameter[] cmdParms)函数)", "error", e.Message);
                     MessageBox.Show("数据库操作失败:" + e.Message);
                     return(-1);
                 }
             }
         }
     }
 }
예제 #7
0
 /// <summary>
 /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
 /// </summary>
 /// <param name="strSQL">SQL语句</param>
 /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
 /// <returns>影响的记录数</returns>
 public int ExecuteSqlInsertImg(string strSQL, byte[] fs, bool backupDB = false)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             SqlCommand cmd = new SqlCommand(strSQL, connection);
             System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
             myParameter.Value = fs;
             cmd.Parameters.Add(myParameter);
             try
             {
                 connection.Open();
                 int rows = cmd.ExecuteNonQuery();
                 return(rows);
             }
             catch (System.Data.SqlClient.SqlException e)
             {
                 WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSqlInsertImg函数)", "error", e.Message);
                 MessageBox.Show("数据库操作失败:" + e.Message);
                 return(-1);
             }
             finally
             {
                 cmd.Dispose();
                 connection.Close();
             }
         }
     }
 }
예제 #8
0
 /// <summary>
 /// 执行一条计算查询结果语句,返回查询结果(object)。
 /// </summary>
 /// <param name="SQLString">计算查询结果语句</param>
 /// <returns>查询结果(object)</returns>
 public object GetSingle(string SQLString, bool backupDB = false, params SqlParameter[] cmdParms)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             using (SqlCommand cmd = new SqlCommand())
             {
                 try
                 {
                     PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                     object obj = cmd.ExecuteScalar();
                     cmd.Parameters.Clear();
                     if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                     {
                         return(null);
                     }
                     else
                     {
                         return(obj);
                     }
                 }
                 catch (System.Data.SqlClient.SqlException e)
                 {
                     WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(GetSingle(string SQLString, params SqlParameter[] cmdParms)函数)", "error", e.Message);
                     MessageBox.Show("数据库操作失败:" + e.Message);
                     return(null);
                 }
             }
         }
     }
 }
예제 #9
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (data == null || data.Rows.Count == 0)
     {
         MessageBox.Show("该Excel文件中无任何数据!");
         return;
     }
     if (map.Count == 0)
     {
         MessageBox.Show("请先编辑字段映射!");
         return;
     }
     if (MessageBox.Show("确定已经编辑好字段映射了么?" + Environment.NewLine + "本操作会清空原来的" + comboBox2.Text + "资料,请谨慎操作!", "导入提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
     {
         try
         {
             string file = BackupData(comboBox2.Text);
             if (file == "")
             {
                 if (MessageBox.Show("确定要导入新数据么?", "没有任何旧数据提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
                 {
                 }
                 else
                 {
                     return;
                 }
             }
             else
             {
                 MessageBox.Show("系统自动备份了" + comboBox2.Text + "的资料在[" + file + "]接下来将开始导入新数据...");
             }
         }
         catch (Exception ex)
         {
             WriteLog.CreateLog("配置中心", "ImportForm.导入新资料前先备份旧资料", "error", ex.ToString());
         }
         button2.Visible      = false;
         progressBar1.Visible = true;
         progressBar1.BringToFront();
         progressBar1.Value   = 0;
         progressBar1.Maximum = data.Rows.Count;
         try
         {
             ImportData(data, map);
         }
         catch (Exception ex)
         {
             WriteLog.CreateLog("配置中心", "ImportForm.导入系统", "error", ex.ToString());
         }
         finally
         {
             progressBar1.Visible = false;
             progressBar1.SendToBack();
             button2.Visible = true;
         }
     }
 }
예제 #10
0
 public static void GuanJi()
 {
     try
     {
         Process.Start("Shutdown.exe", "-s -t 0");
     }
     catch (Exception ex)
     {
         WriteLog.CreateLog("内部操作", "OSOperation类的GuanJi函数", "error", ex.Message);
     }
 }
예제 #11
0
        public bool Login(TextBox textBox1, TextBox textBox2)
        {
            string use = textBox1.Text.Trim();
            string pwd = textBox2.Text;

            if (use != string.Empty)
            {
                RefreshMsg("正在获取用户信息...");
                User user = UserLogic.GetInstance().GetUser(use);
                if (user != null && user.Flag == 0)
                {
                    if (user.Password == pwd)
                    {
                        if (this.User != null && this.User.ID != user.ID)
                        {
                            //关掉所有的已经打开的窗口...
                            foreach (TabPage page in tabControl1.TabPages)
                            {
                                CloseSubForm(page);
                            }
                        }
                        this.User = user;
                        toolStripStatusLabel3.Text = "当前用户:" + user.Username;
                        WriteLog.CreateLog(this.User.Username, "MainForm.Login", "log", "用户:" + user.Username);
                        UnlockSystem();
                        RefreshMsg("Ready...");
                        return(true);
                    }
                    else
                    {
                        MessageBox.Show("密码错误!");
                        textBox2.SelectAll();
                        textBox2.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("用户名错误或者该用户已经被禁用!");
                    textBox1.SelectAll();
                    textBox1.Focus();
                }
            }
            else
            {
                MessageBox.Show("请输入用户名!");
                textBox1.Focus();
            }
            return(false);
        }
예제 #12
0
        private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            string str = string.Format("应用程序错误:{0},应用程序状态:{1}", e.ExceptionObject.ToString(), (e.IsTerminating ? "终止" : "未终止"));

            StackTrace st       = new StackTrace(true);
            StackFrame sf       = st.GetFrame(0);
            string     fileName = sf.GetFileName();
            Type       type     = sf.GetMethod().ReflectedType;
            //string assName = type.Assembly.FullName;
            string typeName   = type.FullName;
            string methodName = sf.GetMethod().Name;
            int    lineNo     = sf.GetFileLineNumber();
            int    colNo      = sf.GetFileColumnNumber();

            WriteLog.CreateLog("内部操作", typeName + "=>" + methodName + "(" + lineNo + "行" + colNo + "列)", "error", str);

            MessageBox.Show("发生应用程序致命错误,请及时联系系统管理员!", "应用程序错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
예제 #13
0
 /// <summary>
 /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close )
 /// </summary>
 /// <param name="strSQL">查询语句</param>
 /// <returns>SqlDataReader</returns>
 public SqlDataReader ExecuteReader(string strSQL, bool backupDB = false)
 {
     lock (lockObj)
     {
         SqlConnection connection = HelpConnection.GetConnection(backupDB);
         SqlCommand    cmd        = new SqlCommand(strSQL, connection);
         try
         {
             connection.Open();
             SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
             return(myReader);
         }
         catch (System.Data.SqlClient.SqlException e)
         {
             WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteReader函数):", "error", e.Message);
             MessageBox.Show("数据库操作失败:" + e.Message);
             return(null);
         }
     }
 }
예제 #14
0
        /// <summary>
        /// 加密密钥后再对文件字符进行加密
        /// </summary>
        public static void EncryptConfigFile(string filePath, string str)
        {
            FileStream      fs        = new FileStream(filePath, FileMode.Create);
            BinaryFormatter formatter = new BinaryFormatter();

            try
            {
                formatter.Serialize(fs, EncryptAndDec.Encrypt2(str, "TIANSHUN"));
            }
            catch (SerializationException e)
            {
                WriteLog.CreateLog("内部操作", AppDomain.CurrentDomain.BaseDirectory, "ZipHelper类>EncryptConfigFile方法", "序列化失败,原因: " + e.Message);
                throw;
            }
            finally
            {
                fs.Close();
                fs = null;
            }
        }
예제 #15
0
 /// <summary>
 /// 截屏的方法
 /// </summary>
 public static void CutScreen(string templatePath, int width, int height, int x, int y)
 {
     try
     {
         string tempImagePath = templatePath;
         string temp          = tempImagePath + "\\CurrentScreenImage\\";
         if (!Directory.Exists(temp))
         {
             Directory.CreateDirectory(@temp);
         }
         Image    i = new Bitmap(width, height);
         Graphics g = Graphics.FromImage(i);
         g.CopyFromScreen(new Point(x, y), new Point(0, 0), new Size(width, height));
         i.Save(@temp + DateTime.Now.ToLocalTime().Ticks.ToString() + ".jpg");
     }
     catch (Exception ex)
     {
         WriteLog.CreateLog("内部操作", "OSOperation类的CutScreen函数", "error", ex.Message);
     }
 }
예제 #16
0
 /// <summary>
 /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close )
 /// </summary>
 /// <param name="strSQL">查询语句</param>
 /// <returns>SqlDataReader</returns>
 public SqlDataReader ExecuteReader(string SQLString, bool backupDB = false, params SqlParameter[] cmdParms)
 {
     lock (lockObj)
     {
         SqlConnection connection = HelpConnection.GetConnection(backupDB);
         SqlCommand    cmd        = new SqlCommand();
         try
         {
             PrepareCommand(cmd, connection, null, SQLString, cmdParms);
             SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
             cmd.Parameters.Clear();
             return(myReader);
         }
         catch (System.Data.SqlClient.SqlException e)
         {
             WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteReader(string SQLString, params SqlParameter[] cmdParms)函数)", "error", e.Message);
             MessageBox.Show("数据库操作失败:" + e.Message);
             return(null);
         }
     }
 }
예제 #17
0
 /// <summary>
 /// 执行查询语句,返回DataSet
 /// </summary>
 /// <param name="SQLString">查询语句</param>
 /// <returns>DataSet</returns>
 public DataTable Query(string SQLString, bool backupDB = false)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             DataTable dt = new DataTable();
             try
             {
                 connection.Open();
                 SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
                 command.Fill(dt);
             }
             catch (System.Data.SqlClient.SqlException ex)
             {
                 WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(Query(string SQLString)函数)", "error", ex.Message);
                 MessageBox.Show("数据库操作失败:" + ex.Message);
             }
             return(dt);
         }
     }
 }
예제 #18
0
 /// <summary>
 /// 群发短信的接口
 /// </summary>
 /// <param name="content"></param>
 /// <param name="mobiles"></param>
 /// <param name="greets"></param>
 /// <returns></returns>
 public static bool SendSMS(string content, List <string> mobiles, List <string> greets = null)
 {
     if (string.IsNullOrEmpty(content))
     {
         return(false);
     }
     if (mobiles == null || mobiles.Count == 0)
     {
         return(false);
     }
     if (greets != null && greets.Count != mobiles.Count)
     {
         return(false);
     }
     try
     {
         string msg = content;
         for (int i = 0; i < mobiles.Count; i++)
         {
             string mobile = mobiles[i];
             if (greets != null)
             {
                 msg = greets[i] + ": " + msg;
             }
             string err;
             bool   f = CallAssemblyToSendSMS(mobile, msg, out err);//调用发短信的基本接口
             if (!f)
             {
                 WriteLog.CreateLog("发送短信", "SMSLogic.SendSMS", "error", err);
             }
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
예제 #19
0
        /// <summary>
        /// 解密配置文件并读入到xmldoc中
        /// </summary>
        public static XmlNode DecryptConfigFile(string filePath)
        {
            FileStream      fs        = new FileStream(filePath, FileMode.Open);
            XmlDocument     m_XmlDoc  = new XmlDocument();
            BinaryFormatter formatter = null;

            try
            {
                formatter = new BinaryFormatter();
                m_XmlDoc.LoadXml(EncryptAndDec.Decrypt2((string)formatter.Deserialize(fs), "TIANSHUN"));
                return(m_XmlDoc.DocumentElement);
            }
            catch (SerializationException e)
            {
                WriteLog.CreateLog("内部操作", AppDomain.CurrentDomain.BaseDirectory, "ZipHelper类>DecryptConfigFile方法", "反序列化失败,原因:" + e.Message);
                throw;
            }
            finally
            {
                fs.Close();
                fs = null;
            }
        }
예제 #20
0
 /// <summary>
 /// 执行带一个存储过程参数的的SQL语句。
 /// </summary>
 /// <param name="SQLString">SQL语句</param>
 /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
 /// <returns>影响的记录数</returns>
 public object ExecuteSqlGet(string SQLString, string content, bool backupDB = false)
 {
     lock (lockObj)
     {
         using (SqlConnection connection = HelpConnection.GetConnection(backupDB))
         {
             SqlCommand cmd = new SqlCommand(SQLString, connection);
             System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
             myParameter.Value = content;
             cmd.Parameters.Add(myParameter);
             try
             {
                 connection.Open();
                 object obj = cmd.ExecuteScalar();
                 if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                 {
                     return(null);
                 }
                 else
                 {
                     return(obj);
                 }
             }
             catch (System.Data.SqlClient.SqlException e)
             {
                 WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSqlGet函数):", "error", e.Message);
                 MessageBox.Show("数据库操作失败:" + e.Message);
                 return(-1);
             }
             finally
             {
                 cmd.Dispose();
                 connection.Close();
             }
         }
     }
 }
예제 #21
0
 private void 锁定ToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     WriteLog.CreateLog(this.User.Username, "MainForm.锁定ToolStripMenuItem1", "log", "用户:" + this.User.Username);
     LockSystem();
 }
예제 #22
0
        /// <summary>
        /// 执行Sql和Oracle滴混合事务
        /// </summary>
        /// <param name="list">SQL命令行列表</param>
        /// <param name="oracleCmdSqlList">Oracle命令行列表</param>
        /// <returns>执行结果 0-由于SQL造成事务失败 -1 由于Oracle造成事务失败 1-整体事务执行成功</returns>
        public int ExecuteSqlTran(List <CommandInfo> list, List <CommandInfo> oracleCmdSqlList, bool backupDB = false)
        {
            lock (lockObj)
            {
                using (SqlConnection conn = HelpConnection.GetConnection(backupDB))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    SqlTransaction tx = conn.BeginTransaction();
                    cmd.Transaction = tx;
                    try
                    {
                        foreach (CommandInfo myDE in list)
                        {
                            string         cmdText  = myDE.CommandText;
                            SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters;
                            PrepareCommand(cmd, conn, tx, cmdText, cmdParms);
                            if (myDE.EffentNextType == EffentNextType.SolicitationEvent)
                            {
                                if (myDE.CommandText.ToLower().IndexOf("count(") == -1)
                                {
                                    tx.Rollback();
                                    MessageBox.Show("数据库操作失败:违背要求" + myDE.CommandText + "必须符合select count(..的格式");
                                    return(-1);
                                }

                                object obj    = cmd.ExecuteScalar();
                                bool   isHave = false;
                                if (obj == null && obj == DBNull.Value)
                                {
                                    isHave = false;
                                }
                                isHave = Convert.ToInt32(obj) > 0;
                                if (isHave)
                                {
                                    //引发事件
                                    myDE.OnSolicitationEvent();
                                }
                            }
                            if (myDE.EffentNextType == EffentNextType.WhenHaveContine || myDE.EffentNextType == EffentNextType.WhenNoHaveContine)
                            {
                                if (myDE.CommandText.ToLower().IndexOf("count(") == -1)
                                {
                                    tx.Rollback();
                                    MessageBox.Show("数据库操作失败:违背要求" + myDE.CommandText + "必须符合select count(..的格式");
                                    return(-1);
                                }

                                object obj    = cmd.ExecuteScalar();
                                bool   isHave = false;
                                if (obj == null && obj == DBNull.Value)
                                {
                                    isHave = false;
                                }
                                isHave = Convert.ToInt32(obj) > 0;

                                if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave)
                                {
                                    tx.Rollback();
                                    MessageBox.Show("数据库操作失败:违背要求" + myDE.CommandText + "返回值必须大于0");
                                    return(-1);
                                }
                                if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave)
                                {
                                    tx.Rollback();
                                    MessageBox.Show("数据库操作失败:违背要求" + myDE.CommandText + "返回值必须等于0");
                                    return(-1);
                                }
                                continue;
                            }
                            int val = cmd.ExecuteNonQuery();
                            if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0)
                            {
                                tx.Rollback();
                                MessageBox.Show("数据库操作失败:违背要求" + myDE.CommandText + "必须有影响行");
                                return(-1);
                            }
                            cmd.Parameters.Clear();
                        }
                        return(1);
                    }
                    catch (System.Data.SqlClient.SqlException e)
                    {
                        tx.Rollback();
                        WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSqlTran函数):", "error", e.Message);
                        MessageBox.Show("数据库操作失败:" + e.Message);
                        return(-1);
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        WriteLog.CreateLog("数据库操作日志", "DbHelperSQL类(ExecuteSqlTran函数):", "error", e.Message);
                        MessageBox.Show("数据库操作失败:" + e.Message);
                        return(-1);
                    }
                }
            }
        }