コード例 #1
0
        public DtoLib.ResultadoLista <DtoLibInventario.Grupo.Resumen> Grupo_GetListaByDepartamento(string id)
        {
            var result = new DtoLib.ResultadoLista <DtoLibInventario.Grupo.Resumen>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var sql_1 = " SELECT pg.auto, pg.nombre, pg.codigo ";
                    var sql_2 = " from productos_grupo as pg " +
                                " join productos as p on pg.auto=p.auto_grupo " +
                                " join empresa_departamentos as ed on ed.auto=p.auto_departamento ";
                    var sql_3 = " where ed.auto= @p1 ";
                    var sql_4 = " group by pg.auto, pg.nombre, pg.codigo ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    p1.ParameterName = "p1";
                    p1.Value         = id;

                    var sql  = sql_1 + sql_2 + sql_3 + sql_4;
                    var list = cnn.Database.SqlQuery <DtoLibInventario.Grupo.Resumen>(sql, p1).ToList();
                    result.Lista = list;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
        /// </summary>
        /// <param name="strSQL">SQL语句</param>
        /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
        {
            using (MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection(connectionString))
            {
                MySql.Data.MySqlClient.MySqlCommand   cmd         = new MySql.Data.MySqlClient.MySqlCommand(strSQL, connection);
                MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@fs", MySql.Data.MySqlClient.MySqlDbType.Binary);
                myParameter.Value = fs;
                cmd.Parameters.Add(myParameter);
                try
                {
                    connection.Open();
                    cmd.ExecuteNonQuery();

                    cmd.CommandText = "SELECT @@IDENTITY";
                    int rows = (int)cmd.ExecuteScalar();
                    return(rows);
                }
                catch (System.Data.OleDb.OleDbException E)
                {
                    throw new Exception(E.Message);
                }
                finally
                {
                    cmd.Dispose();
                    connection.Close();
                }
            }
        }
コード例 #3
0
        public DtoLib.ResultadoLista <DtoLibCompra.Deposito.Lista.Resumen> Deposito_GetLista(DtoLibCompra.Deposito.Lista.Filtro filtro)
        {
            var result = new DtoLib.ResultadoLista <DtoLibCompra.Deposito.Lista.Resumen>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = " select auto as id, codigo, nombre, codigo_sucursal as codigoSuc ";
                    var sql_2 = " from empresa_depositos ";
                    var sql_3 = " where 1=1 ";
                    var sql_4 = "";

                    if (filtro.PorCodigoSuc != "")
                    {
                        sql_3           += " and codigo_sucursal=@p1";
                        p1.ParameterName = "@p1";
                        p1.Value         = filtro.PorCodigoSuc;
                    }

                    var sql  = sql_1 + sql_2 + sql_3 + sql_4;
                    var list = cnn.Database.SqlQuery <DtoLibCompra.Deposito.Lista.Resumen>(sql, p1).ToList();
                    result.Lista = list;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #4
0
        public DtoLib.ResultadoLista <DtoLibSistema.ControlAcceso.Data.Ficha> ControlAcceso_GetData(string idGrupo)
        {
            var result = new DtoLib.ResultadoLista <DtoLibSistema.ControlAcceso.Data.Ficha>();

            try
            {
                using (var cnn = new sistemaEntities(_cnSist.ConnectionString))
                {
                    var p1  = new MySql.Data.MySqlClient.MySqlParameter("@idGrupo", idGrupo);
                    var sql = @"SELECT ug.estatus, ug.seguridad, sf.codigo as fCodigo, sf.nombre as fNombre 
                                from usuarios_grupo_permisos as ug 
                                join sistema_funciones as sf on ug.codigo_funcion=sf.codigo
                                join sistema_funciones_ext as sfe on sf.codigo=sfe.codigo
                                where ug.codigo_grupo=@idGrupo and sfe.estatus='1'";
                    var lst = cnn.Database.SqlQuery <DtoLibSistema.ControlAcceso.Data.Ficha>(sql, p1).ToList();
                    result.Lista = lst;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #5
0
        public DtoLib.ResultadoEntidad <DtoLibPos.Permiso.Entidad.Ficha> Permiso_Cliente_ActivarInactivar(string idGrupoUsu)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPos.Permiso.Entidad.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var sql = "select estatus, seguridad from usuarios_grupo_permisos where codigo_grupo=@p1 and codigo_funcion='0101050000'";
                    var p1  = new MySql.Data.MySqlClient.MySqlParameter();
                    p1.ParameterName = "@p1";
                    p1.Value         = idGrupoUsu;

                    var permiso = cnn.Database.SqlQuery <DtoLibPos.Permiso.Entidad.Ficha>(sql, p1).FirstOrDefault();
                    if (permiso == null)
                    {
                        result.Mensaje = "PERMISO NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        result.Entidad = null;
                        return(result);
                    }
                    result.Entidad = permiso;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #6
0
        private void btnSpeichern_Click(object sender, RoutedEventArgs e)
        {
            MySql.Data.MySqlClient.MySqlCommand comm = new MySql.Data.MySqlClient.MySqlCommand();
            string sql = "";

            if (chkRechnung.IsChecked == true)
            {
                sql += "update rechnung set datum = '" + string.Format("{0:yyyy-MM-dd}", dpDatum.SelectedDate) + "', laden = " + ((Shop)cmbLaden.SelectedItem).id +
                       ((Person)cmbPerson.SelectedItem).id + ", einmalig = " + Convert.ToInt32((bool)chkEinmal.IsChecked) + " where rechnung.id = " + _suche.Kassenzettel.id + ";";
            }

            if (chkArtikel.IsChecked == true)
            {
                sql += "update ausgaben set bezeichnung = @bez, betrag = @betr, prod_gr = " + ((Produktgruppe)cmbKategorie.SelectedItem).id +
                       " where ausgaben.ID = " + _suche.Artikel.id;
                MySql.Data.MySqlClient.MySqlParameter par_bez = new MySql.Data.MySqlClient.MySqlParameter("@bez", MySql.Data.MySqlClient.MySqlDbType.VarChar, 60);
                par_bez.Value = txtBezeichnung.Text;
                comm.Parameters.Add(par_bez);
                MySql.Data.MySqlClient.MySqlParameter par_betr = new MySql.Data.MySqlClient.MySqlParameter("@betr", MySql.Data.MySqlClient.MySqlDbType.Double);
                par_betr.Value = numBetrag.Betrag;  //Convert.ToDouble(numBetrag.Text);
                comm.Parameters.Add(par_betr);
            }

            comm.CommandText = sql;
            //MessageBox.Show(sql);
            Update?.Invoke(comm);
            Close();
        }
コード例 #7
0
        //Johann,Nils
        public static Employee LoginEmpleyee(int id, int pin)
        {
            MySql.Data.MySqlClient.MySqlParameter idPara  = new MySql.Data.MySqlClient.MySqlParameter("@id", id);
            MySql.Data.MySqlClient.MySqlParameter pinPara = new MySql.Data.MySqlClient.MySqlParameter("@pin", pin);
            var reader = Database.ExcecuteCommand("SELECT * FROM mitarbeiter WHERE id = @id and PIN = @pin", new List <MySql.Data.MySqlClient.MySqlParameter> {
                idPara, pinPara
            });

            if (!reader.HasRows)
            {
                // login falsch
                return(null);
            }


            Employee employee = new Employee();

            employee.Id = id;

            reader.Read();

            // Employee Bauen
            employee.FirstName = reader[1].ToString();
            employee.LastName  = reader[2].ToString();

            return(employee);
        }
コード例 #8
0
        void ICommon.UpdatePwd(string branch_no, string oper_id, string pwd, string new_pwd)
        {
            pwd     = pwd.ToUpper();
            new_pwd = new_pwd.ToUpper();
            DB.IDB db   = new DB.MySqlByAutoClose(Appsetting.conn);
            string sql  = "select * from sa_t_operator_i where branch_no=@branch_no and oper_id=@oper_id ";
            var    pars = new MySql.Data.MySqlClient.MySqlParameter[]
            {
                new MySql.Data.MySqlClient.MySqlParameter("@oper_id", oper_id),
                new MySql.Data.MySqlClient.MySqlParameter("@branch_no", branch_no)
            };
            var dt = db.ExecuteToTable(sql, pars);

            if (dt.Rows.Count > 0)
            {
                var temp_pwd = dt.Rows[0]["oper_pw"].ToString();
                if (temp_pwd.ToUpper() != pwd.ToUpper())
                {
                    throw new Exception("旧密码不正确");
                }
                sql  = "update sa_t_operator_i set oper_pw=@new_pwd where branch_no=@branch_no and oper_id=@oper_id ";
                pars = new MySql.Data.MySqlClient.MySqlParameter[]
                {
                    new MySql.Data.MySqlClient.MySqlParameter("@oper_id", oper_id),
                    new MySql.Data.MySqlClient.MySqlParameter("@new_pwd", new_pwd),
                    new MySql.Data.MySqlClient.MySqlParameter("@branch_no", branch_no)
                };
                db.ExecuteScalar(sql, pars);
            }
            else
            {
                throw new Exception("操作员不存在");
            }
        }
コード例 #9
0
        //获取商品更新数目
        int ICommon.GetItemCount(string sysn_time)
        {
            try
            {
                int    count = 0;
                DB.IDB db    = new DB.MySqlByAutoClose(Appsetting.conn);

                string sql = "select count(item_no) total_count from bi_t_item_info where update_time>=@sysn_time ";

                var pars = new MySql.Data.MySqlClient.MySqlParameter[]
                {
                    new MySql.Data.MySqlClient.MySqlParameter("@sysn_time", sysn_time)
                };
                var dt = db.ExecuteToTable(sql, pars);
                if (dt.Rows.Count > 0)
                {
                    count = Conv.ToInt(dt.Rows[0]["total_count"]);
                }
                return(count);
            }
            catch (Exception ex)
            {
                LogHelper.writeLog("Common.GetItemCount()", ex.ToString(), sysn_time);
                throw new Exception(ex.Message);
            }
        }
コード例 #10
0
ファイル: UserVerify.cs プロジェクト: morris1024/YankeePark
        /// <summary>
        /// 检验id-password
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="password">password</param>
        /// <returns>1为通过,-1为未通过,0为不存在用户或其他</returns>
        public int CheckUser(string id, string password)
        {
            string sqlCmdStr = "select salt from user where uid=@uid";

            MySql.Data.MySqlClient.MySqlParameter paraUid =
                new MySql.Data.MySqlClient.MySqlParameter("@uid", MySql.Data.MySqlClient.MySqlDbType.VarChar);
            paraUid.Value = id;
            string salt = DBUtil.MySQLHelper.GetSingle(sqlCmdStr, paraUid) as string;

            if (!string.IsNullOrWhiteSpace(salt))
            {
                string hashedPwd = Tools.getHashString(password.Trim() + salt.Trim());
                MySql.Data.MySqlClient.MySqlParameter paraPwd =
                    new MySql.Data.MySqlClient.MySqlParameter("@pwd", MySql.Data.MySqlClient.MySqlDbType.VarChar);
                paraPwd.Value = hashedPwd;

                sqlCmdStr = "select count(*) from user where uid=@uid and pwd=@pwd";
                long resultCount = (long)DBUtil.MySQLHelper.GetSingle(sqlCmdStr, paraUid, paraPwd);
                if (resultCount == 1)
                {
                    return(1);
                }
                else
                {
                    return(-1);
                }
            }
            return(0);
        }
コード例 #11
0
ファイル: UserVerify.cs プロジェクト: morris1024/YankeePark
        /// <summary>
        /// 更新密码(不改变salt)
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="password">password</param>
        /// <returns>1为成功,-1为失败,0为无此id或其他</returns>
        public int UpdatePassword(string id, string password)
        {
            string sqlCmdStr = "select salt from user where uid=@uid";

            MySql.Data.MySqlClient.MySqlParameter paraUid =
                new MySql.Data.MySqlClient.MySqlParameter("@uid", MySql.Data.MySqlClient.MySqlDbType.VarChar);
            paraUid.Value = id;
            string salt = DBUtil.MySQLHelper.GetSingle(sqlCmdStr, paraUid) as string;

            if (!string.IsNullOrWhiteSpace(salt))
            {
                string hashedPwd = Tools.getHashString(password.Trim() + salt.Trim());
                sqlCmdStr = "update user set pwd=@pwd where uid=@id;";
                MySql.Data.MySqlClient.MySqlParameter[] paramList = new MySql.Data.MySqlClient.MySqlParameter[2];
                paramList[0]       = new MySql.Data.MySqlClient.MySqlParameter("@id", MySql.Data.MySqlClient.MySqlDbType.VarChar);
                paramList[1]       = new MySql.Data.MySqlClient.MySqlParameter("@pwd", MySql.Data.MySqlClient.MySqlDbType.VarChar);
                paramList[0].Value = id;
                paramList[1].Value = hashedPwd;

                if (DBUtil.MySQLHelper.ExecuteSql(sqlCmdStr, paramList) == 1)
                {
                    return(1);
                }
                else
                {
                    return(-1);
                }
            }
            else
            {
                return(0);
            }
        }
コード例 #12
0
        public DtoLib.ResultadoLista <DtoLibSistema.SerieFiscal.Lista.Ficha> SerieFiscal_GetLista(DtoLibSistema.SerieFiscal.Lista.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibSistema.SerieFiscal.Lista.Ficha>();

            try
            {
                using (var cnn = new sistemaEntities(_cnSist.ConnectionString))
                {
                    var sql = @"select sf.auto as id, sf.serie, sf.correlativo, sf.control, sf.estatus  
                        FROM empresa_series_fiscales as sf 
                        where 1=1 ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p4 = new MySql.Data.MySqlClient.MySqlParameter();

                    var list = cnn.Database.SqlQuery <DtoLibSistema.SerieFiscal.Lista.Ficha>(sql, p1, p2, p3, p4).ToList();
                    rt.Lista = list;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #13
0
        public Int32 Execute_SqlParameter2(int commandType, string Sqlstr, DataSet DsDbParameter, string dataAccessName)
        {
            DataAccessCollections dac = new DataAccessCollections();

            MyNet.Common.Data.DataAccess dAccess = dac.GetDataAccess(dataAccessName);
            DataTable dt = DsDbParameter.Tables[0];

            DbParameter[] DbParameter = new DbParameter[dt.Rows.Count];

            for (int i = 0; i < DsDbParameter.Tables[0].Rows.Count; i++)
            {
                DbParameter[i] = new MySql.Data.MySqlClient.MySqlParameter(dt.Rows[i]["name"].ToString(), dt.Rows[i]["value"]);
                try
                {
                    if (dt.Rows[i]["type"] != null)
                    {
                        DbParameter[i].DbType = (DbType)int.Parse(dt.Rows[i]["type"].ToString());
                    }
                }
                catch
                {
                }
            }
            System.Data.CommandType ComType = (System.Data.CommandType)commandType;
            return(dAccess.Execute_Procedure(ComType, Sqlstr, DbParameter));
        }
コード例 #14
0
        public DtoLib.ResultadoEntidad <string> Usuario_GetClave_ById(string idUsuario)
        {
            var result = new DtoLib.ResultadoEntidad <string>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var sql  = @"SELECT clave 
                                FROM usuarios 
                                where auto=@autoUsuario";
                    var p1   = new MySql.Data.MySqlClient.MySqlParameter("@autoUsuario", idUsuario);
                    var clav = cnn.Database.SqlQuery <string>(sql, p1).FirstOrDefault();
                    if (clav == null)
                    {
                        result.Mensaje = "USUARIO NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(result);
                    }
                    result.Entidad = clav;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #15
0
        public DtoLib.ResultadoEntidad <DtoLibInventario.Sistema.TipoDocumento.Entidad.Ficha> Sistema_TipoDocumento_GetFichaById(string autoId)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibInventario.Sistema.TipoDocumento.Entidad.Ficha>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    p1.ParameterName = "@p1";
                    p1.Value         = autoId;
                    var sql = @"SELECT auto as autoId, tipo, codigo, nombre, signo, siglas
                                FROM sistema_documentos 
                                WHERE auto=@p1";
                    var ent = cnn.Database.SqlQuery <DtoLibInventario.Sistema.TipoDocumento.Entidad.Ficha>(sql, p1).FirstOrDefault();
                    if (ent == null)
                    {
                        result.Mensaje = "[ ID DOCUMENTO ] NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(result);
                    }
                    result.Entidad = ent;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #16
0
        //供应商价格表
        DataTable ICommon.GetSupPriceList(string sysn_time, string sup_id, string item_no)
        {
            try
            {
                DB.IDB db            = new DB.MySqlByAutoClose(Appsetting.conn);
                var    condition_sql = "";
                if (sup_id != "")
                {
                    condition_sql += " and sup_id=@sup_id ";
                }
                if (item_no != "")
                {
                    condition_sql += " and item_no=@item_no ";
                }
                string sql = "select item_no,sup_id,price,top_price,bottom_price,last_price,spec_from,spec_to,spec_price,item_status";
                sql += ",top_sheet_no,bottom_sheet_no,last_sheet_no from bi_t_sup_item where update_time>=@sysn_time " + condition_sql;

                var pars = new MySql.Data.MySqlClient.MySqlParameter[]
                {
                    new MySql.Data.MySqlClient.MySqlParameter("@sysn_time", sysn_time),
                    new MySql.Data.MySqlClient.MySqlParameter("@sup_id", sup_id),
                    new MySql.Data.MySqlClient.MySqlParameter("@item_no", item_no)
                };
                var dt = db.ExecuteToTable(sql, pars);

                return(dt);
            }
            catch (Exception ex)
            {
                LogHelper.writeLog("Common.GetSupPriceList()", ex.ToString(), null);
                throw new Exception(ex.Message);
            }
        }
コード例 #17
0
ファイル: MySQLDbUtility.cs プロジェクト: maskx/OData
        public override DbParameter CreateParameter(object value, List <DbParameter> pars)
        {
            var par = new MySql.Data.MySqlClient.MySqlParameter("?p" + pars.Count, value);

            pars.Add(par);
            return(par);
        }
コード例 #18
0
        public DtoLib.ResultadoLista <DtoLibSistema.Vendedor.Lista.Ficha> Vendedor_GetLista(DtoLibSistema.Vendedor.Lista.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibSistema.Vendedor.Lista.Ficha>();

            try
            {
                using (var cnn = new sistemaEntities(_cnSist.ConnectionString))
                {
                    var sql = @"select v.auto as id, v.codigo, v.nombre, v.ci as ciRif, v.estatus  
                        FROM vendedores as v 
                        where 1=1 ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p4 = new MySql.Data.MySqlClient.MySqlParameter();

                    var list = cnn.Database.SqlQuery <DtoLibSistema.Vendedor.Lista.Ficha>(sql, p1, p2, p3, p4).ToList();
                    rt.Lista = list;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #19
0
        public DtoLib.ResultadoEntidad <DtoLibCompra.Permiso.Ficha> Permiso_ToolCompra(string autoGrupoUsuario)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibCompra.Permiso.Ficha>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    p1.ParameterName = "@p1";
                    p1.Value         = autoGrupoUsuario;
                    var permiso = cnn.Database.SqlQuery <DtoLibCompra.Permiso.Ficha>("select estatus, seguridad from usuarios_grupo_permisos where codigo_grupo=@p1 and codigo_funcion='0720000000'", p1).FirstOrDefault();
                    if (permiso == null)
                    {
                        result.Mensaje = "PERMISO NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        result.Entidad = null;
                        return(result);
                    }
                    result.Entidad = permiso;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #20
0
        public DtoLib.ResultadoEntidad <DtoLibPos.Sistema.Serie.Entidad.Ficha> Sistema_Serie_GetFichaByNombre(string nombre)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibPos.Sistema.Serie.Entidad.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    p1.ParameterName = "@p1";
                    p1.Value         = nombre;
                    var sql = @"SELECT auto, serie, control 
                                FROM empresa_series_fiscales 
                                WHERE serie=@p1";
                    var ent = cnn.Database.SqlQuery <DtoLibPos.Sistema.Serie.Entidad.Ficha>(sql, p1).FirstOrDefault();
                    if (ent == null)
                    {
                        result.Mensaje = "[ ID SERIE ] NO ENCONTRADO";
                        result.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(result);
                    }
                    result.Entidad = ent;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #21
0
        public DtoLib.ResultadoLista <DtoLibPos.Sistema.TipoDocumento.Entidad.Ficha> Sistema_TipoDocumento_GetLista()
        {
            var result = new DtoLib.ResultadoLista <DtoLibPos.Sistema.TipoDocumento.Entidad.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql = @"SELECT auto as autoId, tipo, codigo, nombre, signo, siglas
                                FROM sistema_documentos 
                                WHERE 1=1 and tipo='Ventas'";
                    var lst = cnn.Database.SqlQuery <DtoLibPos.Sistema.TipoDocumento.Entidad.Ficha>(sql).ToList();
                    result.Lista = lst;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #22
0
        public DtoLib.ResultadoLista <DtoLibCompra.Proveedor.Documento.Ficha> Proveedor_Documento_GetLista(DtoLibCompra.Proveedor.Documento.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibCompra.Proveedor.Documento.Ficha>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var sql_1 = "SELECT c.fecha, c.documento, c.control as controlNro, c.total as monto, c.monto_divisa as montoDivisa, c.factor_cambio as tasaDivisa, " +
                                "c.estatus_anulado as estatus, c.tipo as codTipoDoc, c.serie, c.signo, c.documento_nombre as nombreTipoDoc  ";
                    var sql_2 = " FROM compras as c";
                    var sql_3 = " where c.auto_proveedor=@p1 and c.fecha>=@p2 and c.fecha<=@p3 ";
                    var sql_4 = "";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p4 = new MySql.Data.MySqlClient.MySqlParameter();

                    p1.ParameterName = "@p1";
                    p1.Value         = filtro.autoProv;
                    p2.ParameterName = "@p2";
                    p2.Value         = filtro.desde;
                    p3.ParameterName = "@p3";
                    p3.Value         = filtro.hasta;

                    switch (filtro.tipoDoc)
                    {
                    case DtoLibCompra.Proveedor.Documento.Enumerados.enumTipoDoc.Factura:
                        sql_3 += "and c.tipo='01' ";
                        break;

                    case DtoLibCompra.Proveedor.Documento.Enumerados.enumTipoDoc.NotaDebito:
                        sql_3 += "and c.tipo='02' ";
                        break;

                    case DtoLibCompra.Proveedor.Documento.Enumerados.enumTipoDoc.NotaCRedito:
                        sql_3 += "and c.tipo='03' ";
                        break;

                    case DtoLibCompra.Proveedor.Documento.Enumerados.enumTipoDoc.OrdenCompra:
                        sql_3 += "and c.tipo='04' ";
                        break;
                    }

                    var sql  = sql_1 + sql_2 + sql_3 + sql_4;
                    var list = cnn.Database.SqlQuery <DtoLibCompra.Proveedor.Documento.Ficha>(sql, p1, p2, p3, p4).ToList();
                    rt.Lista = list;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #23
0
        public DtoLib.ResultadoLista <DtoLibCompra.Reportes.Proveedor.Maestro.Ficha> ReportesProv_Maestro(DtoLibCompra.Reportes.Proveedor.Maestro.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibCompra.Reportes.Proveedor.Maestro.Ficha>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = @"SELECT 
                        codigo as codigo,   
                        ci_rif as ciRif,
                        razon_social as nombre,
                        dir_fiscal as dirFiscal,
                        telefono as telefono,
                        estatus ";

                    var sql_2 = @" FROM proveedores ";

                    var sql_3 = "where 1=1 ";

                    var sql_4 = "";

                    if (filtro.idGrupo != "")
                    {
                        sql_3           += " and auto_grupo=@idGrupo";
                        p1.ParameterName = "@idGrupo";
                        p1.Value         = filtro.idGrupo;
                    }
                    if (filtro.idEstado != "")
                    {
                        sql_3           += " and auto_estado=@idEstado";
                        p2.ParameterName = "@idEstado";
                        p2.Value         = filtro.idEstado;
                    }
                    if (filtro.estatus != "")
                    {
                        sql_3           += " and estatus=@estatus";
                        p3.ParameterName = "@estatus";
                        p3.Value         = filtro.estatus;
                    }

                    var sql = sql_1 + sql_2 + sql_3 + sql_4;
                    var lst = cnn.Database.SqlQuery <DtoLibCompra.Reportes.Proveedor.Maestro.Ficha>(sql, p1, p2, p3).ToList();
                    rt.Lista = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #24
0
        public DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.GeneralPorGrupo.Ficha> ReportesAdm_GeneralPorGrupo(DtoLibPos.Reportes.VentaAdministrativa.GeneralPorGrupo.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.GeneralPorGrupo.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p4 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = @"select 
                                    sum(vd.cantidad_und*costo_und*vd.signo) as costo, 
                                    sum((vd.cantidad_und*costo_und*vd.signo)/v.factor_cambio) as costoDivisa, 
                                    sum(vd.cantidad_und*precio_und*vd.signo) as venta,
                                    sum((vd.cantidad_und*precio_und*vd.signo)/v.factor_cambio) as ventaDivisa,
                                    pgr.codigo as codGrupo, pgr.nombre as nombreGrupo ";

                    var sql_2 = @" from ventas_detalle as vd
                                   join ventas as v on vd.auto_documento=v.auto
                                   join productos_grupo as pgr on pgr.auto=vd.auto_grupo ";

                    var sql_3 = @" where 1=1 and v.tipo in ('01','02','03') ";

                    var sql_4 = @" group by vd.auto_grupo ";

                    sql_3           += " and v.fecha>=@desde ";
                    p1.ParameterName = "@desde";
                    p1.Value         = filtro.desde;

                    sql_3           += " and v.fecha<=@hasta ";
                    p2.ParameterName = "@hasta";
                    p2.Value         = filtro.hasta;

                    if (filtro.codSucursal != "")
                    {
                        sql_3           += " and v.codigo_sucursal=@suc ";
                        p3.ParameterName = "@suc";
                        p3.Value         = filtro.codSucursal;
                    }

                    var sql = sql_1 + sql_2 + sql_3 + sql_4;
                    var lst = cnn.Database.SqlQuery <DtoLibPos.Reportes.VentaAdministrativa.GeneralPorGrupo.Ficha>(sql, p1, p2, p3, p4).ToList();
                    rt.Lista = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #25
0
        public DtoLib.ResultadoEntidad <DtoLibInventario.Visor.CostoEddad.Ficha> Visor_CostoEdad(DtoLibInventario.Visor.CostoEddad.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoEntidad <DtoLibInventario.Visor.CostoEddad.Ficha>();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault();

                    var sql = "SELECT p.nombre as nombrePrd, p.codigo as codigoPrd, p.auto as autoPrd, p.divisa as costoDivisa, " +
                              "p.contenido_compras as contenidoCompras, " +
                              "case when p.estatus='Activo' then '0' else '1' end as estatusActivo, " +
                              "p.estatus_cambio as estatusSuspendido, " +
                              "case when p.estatus_pesado='0' then 'N' when p.estatus_pesado='1' then 'S' end as esPesado, " +
                              "case when p.estatus_divisa='0' then 'N' when p.estatus_divisa='1' then 'S' end as esAdmDivisa, " +
                              "pdep.fisica as cntFisica, pdep.nivel_minimo as nivelMinimo, pdep.nivel_optimo as nivelOptimo, " +
                              "edep.auto as autoDeposito, edep.nombre as nombreDeposito, edep.codigo as codigoDeposito, " +
                              "edepart.auto as autoDepart, edepart.codigo as codigoDepart, edepart.nombre as nombreDepart, " +
                              "pmed.decimales, p.costo_und as costoUnd, p.fecha_ult_costo as fechaUltActCosto, p.fecha_ult_venta as fechaUltVenta  " +
                              "FROM `productos_deposito` as pdep " +
                              "join empresa_depositos as edep on pdep.auto_deposito=edep.auto " +
                              "join productos as p on pdep.auto_producto=p.auto " +
                              "join empresa_departamentos as edepart on p.auto_departamento=edepart.auto " +
                              "join productos_medida as pmed on p.auto_empaque_compra=pmed.auto " +
                              "WHERE 1 = 1 and (pdep.fisica<>0) ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    if (filtro.autoDepartamento != "")
                    {
                        sql += " and p.auto_departamento=@autoDepartamento ";
                        p1.ParameterName = "@autoDepartamento";
                        p1.Value         = filtro.autoDepartamento;
                    }
                    if (filtro.autoDeposito != "")
                    {
                        sql += " and pdep.auto_deposito=@autoDeposito";
                        p2.ParameterName = "@autoDeposito";
                        p2.Value         = filtro.autoDeposito;
                    }

                    var lst = cnn.Database.SqlQuery <DtoLibInventario.Visor.CostoEddad.FichaDetalle>(sql, p1, p2).ToList();
                    rt.Entidad = new DtoLibInventario.Visor.CostoEddad.Ficha();
                    rt.Entidad.fechaServidor = fechaSistema.Date;
                    rt.Entidad.detalles      = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #26
0
        /// <summary>
        /// 创建参数
        /// </summary>
        /// <param name="name">参数名</param>
        /// <param name="value">参数值</param>
        /// <returns></returns>
        public MySql.Data.MySqlClient.MySqlParameter CreateParameter(string name, object value, DbType?type = null)
        {
            var arg = new MySql.Data.MySqlClient.MySqlParameter(name, value);

            if (type != null)
            {
                arg.DbType = (DbType)type;
            }
            return(arg);
        }
コード例 #27
0
        public DtoLib.ResultadoLista <DtoLibCompra.Reportes.CompraPorProductoDetalle.Ficha> Reportes_CompraPorProductoDetalle(DtoLibCompra.Reportes.CompraPorProductoDetalle.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibCompra.Reportes.CompraPorProductoDetalle.Ficha>();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = "SELECT " +
                                "auto_producto as autoPrd, " +
                                "codigo as codigoPrd, " +
                                "nombre as nombrePrd, " +
                                "cantidad_und as cantUnd, " +
                                "costo_und as costoUnd, " +
                                "c.signo as signoDoc, " +
                                "c.documento, " +
                                "c.fecha, " +
                                "c.tipo as tipoDoc, " +
                                "c.serie as serieDoc, " +
                                "c.documento_nombre as nombreDoc, " +
                                "c.factor_cambio as factor ";

                    var sql_2 = "FROM compras_detalle as cd " +
                                "join compras as c on c.auto=cd.auto_documento ";

                    var sql_3 = "where 1=1 and c.estatus_anulado='0' ";

                    var sql_4 = "";

                    sql_3           += " and c.fecha>=@desde ";
                    p1.ParameterName = "@desde";
                    p1.Value         = filtro.desde;

                    sql_3           += " and c.fecha<=@hasta ";
                    p2.ParameterName = "@hasta";
                    p2.Value         = filtro.hasta;

                    var sql = sql_1 + sql_2 + sql_3 + sql_4;
                    var lst = cnn.Database.SqlQuery <DtoLibCompra.Reportes.CompraPorProductoDetalle.Ficha>(sql, p1, p2, p3).ToList();
                    rt.Lista = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #28
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            MemoryStream ms = new MemoryStream();

            pbxAvatar.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] data = ms.ToArray();

            if (_type == DialogType.Add)
            {
                Random r = new Random();
                //byte[] data = File.ReadAllBytes(_filepath);

                _db.Command.CommandText = "insert into tbl_teacherinfo values('" +
                                          tbxID.Text + "', '" +
                                          tbxLastname.Text + "', '" +
                                          tbxFirstname.Text + "', '" +
                                          tbxMiddlename.Text + "', '" +
                                          cbxGender.Text + "', '" +
                                          cbxStatus.Text + "', ?data)";

                MySql.Data.MySqlClient.MySqlParameter dataparam = new MySql.Data.MySqlClient.MySqlParameter("?data", MySql.Data.MySqlClient.MySqlDbType.Blob, data.Length);
                dataparam.Value = data;
                _db.Command.Parameters.Add(dataparam);
                _db.Command.ExecuteNonQuery();

                _db.InsertRecord("tbl_accounts",
                                 tbxID.Text,
                                 r.Next(100000, 999999).ToString(),
                                 "Teacher",
                                 "0",
                                 tbxID.Text,
                                 "true"
                                 );

                resetText();
            }
            else
            {
                _db.Command.CommandText =
                    "update tbl_studentinfo set Lastname = '" + tbxLastname.Text
                    + "', Firstname = '" + tbxFirstname.Text
                    + "', Middlename = '" + tbxMiddlename.Text
                    + "', Gender = '" + cbxGender.Text
                    + "', Status = '" + cbxStatus.Text
                    + "', Avatar = ?data where _id = '" + tbxID.Text + '\'';

                _db.Command.Parameters.Clear();
                _db.Command.Parameters.AddWithValue("?data", data);
                _db.Command.ExecuteNonQuery();

                ((Dashboard)Parent.Parent).ShowMessageBar("Changes saved!", 3000);
                Close();
            }
        }
コード例 #29
0
        public DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.Utilidad.Producto.Ficha> ReportesAdm_UtilidadProducto(DtoLibPos.Reportes.VentaAdministrativa.Utilidad.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.Utilidad.Producto.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    var sql_1 = @"SELECT vd.NOMBRE as prdNombre, 
                                    vd.CODIGO as prdCodigo, 
                                    SUM(vd.CANTIDAD_UND*vd.signo) as cantUnd, 
                                    SUM(vd.COSTO_VENTA*vd.signo/v.factor_cambio) as costoDivisa, 
                                    SUM(vd.TOTAL_NETO*vd.signo/v.factor_cambio) as ventaDivisa, 
                                    SUM(vd.COSTO_VENTA*vd.signo) as costo, 
                                    SUM(vd.TOTAL_NETO*vd.signo) as venta 
                                    FROM ventas_detalle as vd 
                                    join ventas as v on vd.auto_documento=v.auto ";
                    var sql_2 = @" WHERE 1=1 and 
                                v.estatus_anulado='0' and 
                                v.tipo in ('01','02','03','04') ";
                    var sql_3 = @"GROUP BY AUTO_PRODUCTO, NOMBRE, CODIGO ";

                    sql_2           += " and v.fecha>=@desde ";
                    p1.ParameterName = "@desde";
                    p1.Value         = filtro.desde;

                    sql_2           += " and v.fecha<=@hasta ";
                    p2.ParameterName = "@hasta";
                    p2.Value         = filtro.hasta;

                    if (filtro.codSucursal != "")
                    {
                        sql_2           += " and v.codigo_sucursal=@suc ";
                        p3.ParameterName = "@suc";
                        p3.Value         = filtro.codSucursal;
                    }

                    var sql = sql_1 + sql_2 + sql_3;
                    var lst = cnn.Database.SqlQuery <DtoLibPos.Reportes.VentaAdministrativa.Utilidad.Producto.Ficha>(sql, p1, p2, p3).ToList();
                    rt.Lista = lst;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #30
0
        public DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.Resumen.Ficha> ReportesAdm_Resumen(DtoLibPos.Reportes.VentaAdministrativa.Resumen.Filtro filtro)
        {
            var rt = new DtoLib.ResultadoLista <DtoLibPos.Reportes.VentaAdministrativa.Resumen.Ficha>();

            try
            {
                using (var cnn = new PosEntities(_cnPos.ConnectionString))
                {
                    var sql_1 = "SELECT " +
                                "count(*) as cntMov, " +
                                "sum(v.total) as montoTotal, " +
                                "sum(v.total/v.factor_cambio) as montoDivisa, " +
                                "v.signo, " +
                                "v.documento_nombre as tipoDoc, " +
                                "es.nombre as nombreSuc, " +
                                "es.codigo as codigoSuc ";

                    var sql_2 = " FROM ventas as v " +
                                " join empresa_sucursal as es on es.codigo=v.codigo_sucursal ";

                    var sql_3 = " where fecha>=@desde and fecha<=@hasta and estatus_anulado='0' and tipo in ('01','02','03') ";

                    var sql_4 = " group by v.signo, v.documento_nombre, es.codigo, es.nombre ";

                    var p1 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p2 = new MySql.Data.MySqlClient.MySqlParameter();
                    var p3 = new MySql.Data.MySqlClient.MySqlParameter();

                    p1.ParameterName = "@desde";
                    p1.Value         = filtro.desdeFecha;
                    p2.ParameterName = "@hasta";
                    p2.Value         = filtro.hastaFecha;

                    if (filtro.codigoSucursal != "")
                    {
                        sql_3           += " and v.codigo_sucursal=@codigoSucursal ";
                        p3.ParameterName = "@codigoSucursal";
                        p3.Value         = filtro.codigoSucursal;
                    }

                    var sql  = sql_1 + sql_2 + sql_3 + sql_4;
                    var list = cnn.Database.SqlQuery <DtoLibPos.Reportes.VentaAdministrativa.Resumen.Ficha>(sql, p1, p2, p3).ToList();
                    rt.Lista = list;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
コード例 #31
0
        /// <summary>
        /// 初始化 com.individual.helper.ComDbParameter 类的新实例
        /// </summary>
        /// <param name="DataBaseType">数据库类型</param>
        /// <param name="ParameterName">参数名称</param>
        /// <param name="DbType">参数数据类型</param>
        /// <param name="Value">参数值</param>
        /// <param name="Direction">该值指示参数是只可输入、只可输出、双向还是存储过程返回值参数,System.Data.ParameterDirection 值之一</param>
        public static DbParameter CreateDbParameter(DataBaseType DataBaseType, string ParameterName, DbParameterType DbType, object Value, ParameterDirection Direction)
        {
            if (DataBaseType == helper.DataBaseType.Access)
            {
                System.Data.OleDb.OleDbParameter param = new System.Data.OleDb.OleDbParameter(ParameterName, GetOleDbType(DbType));
                param.Direction = Direction;
                param.Value = Value;
                param.Size = 8000;
                return param;
            }
            else if (DataBaseType == helper.DataBaseType.MySql)
            {
                MySql.Data.MySqlClient.MySqlParameter param = new MySql.Data.MySqlClient.MySqlParameter(ParameterName, GetMySqlDbType(DbType));
                param.Direction = Direction;
                param.Value = Value;
                param.Size = 8000;
                return param;
            }

            else if (DataBaseType == helper.DataBaseType.Oracle)
            {
                System.Data.OracleClient.OracleParameter param = new System.Data.OracleClient.OracleParameter(ParameterName, GetOracleType(DbType));
                param.Direction = Direction;
                param.Value = Value;
                param.Size = 8000;
                return param;
            }
            else
            {
                System.Data.SqlClient.SqlParameter param = new System.Data.SqlClient.SqlParameter(ParameterName, GetSqlDbType(DbType));

                param.Direction = Direction;
                param.Value = Value;
                param.Size = 8000;
                return param;
            }
        }
コード例 #32
0
ファイル: SQLBuilder.cs プロジェクト: san90279/UK_OAS
        public String GetInsertMySql(IDbCommand command)
        {
            if (_schema == null)
            {
                String message = SysMsg.GetSystemMessage(((DataModule)_updateComonent.OwnerComp).Language, "Srvtools", "UpdateComponent", "msg_SchemaIsNull");
                throw new ArgumentException(String.Format(message, _updateComonent.Name));
            }

            if (_insertSQL != null && _insertSQL.Length > 0) return _insertSQL;

            // Create the table name and schema name.
            CreateTableName(); CreateSchemaName();

            StringBuilder columnsSB = new StringBuilder();
            StringBuilder valuesSB = new StringBuilder();

            Int32 index = 0;
            foreach (DataRow schemaRow in _schema.Rows)
            {
                String columnName = (String)schemaRow["ColumnName"];
                String columnType = schemaRow["DataType"].ToString();
                //String columnTypeName = schemaRow["DataTypeName"].ToString();

                if (IsLeftJoinClumns(schemaRow))
                { index++; continue; }
                else
                { index++; }

                FieldAttr attr = GetFieldAttrByColumnName(columnName);
                if (attr != null && !attr.UpdateEnable)
                {
                    continue;
                }

                //if (IsReadOnly(schemaRow)) continue;

                Object columnValue = GetColumnIOrUValue(columnName, columnType);
                if (columnValue == null || columnValue == DBNull.Value)
                { continue; }

                if (columnsSB.Length > 0)
                { columnsSB.Append(", "); valuesSB.Append(", "); }

            #if MySql
                if (string.Compare(columnType, "System.String") == 0)
                {
                    MySql.Data.MySqlClient.MySqlParameter mParam = new MySql.Data.MySqlClient.MySqlParameter();
                    mParam.ParameterName = "@" + columnName;
                    mParam.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.VarChar;
                    mParam.Value = columnValue;
                    command.Parameters.Add(mParam);

                    columnsSB.Append(columnName);
                    valuesSB.Append("@" + columnName);

                    continue;
                }
                else if (string.Compare(columnType, "System.Byte[]") == 0)
                {
                    MySql.Data.MySqlClient.MySqlParameter mParam = new MySql.Data.MySqlClient.MySqlParameter();
                    mParam.ParameterName = "@" + columnName;
                    mParam.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.Blob;
                    mParam.Value = columnValue;
                    command.Parameters.Add(mParam);

                    columnsSB.Append(columnName);
                    valuesSB.Append("@" + columnName);

                    continue;
                }
            #endif

                columnsSB.Append(columnName);
                valuesSB.Append(MarkMySql(columnType, TransformMarkerInColumnValue(columnType, columnValue)));
            }

            if (columnsSB.ToString() != null && columnsSB.ToString().Length > 0)
            {
                //String insertSQL = "insert into " + TableName + " (" + columnsSB.ToString() + ") " +
                //    " values (" + valuesSB.ToString() + ")";
                String insertSQL = "insert into " + _tableName + " (" + columnsSB.ToString() + ") " +
                    " values (" + valuesSB.ToString() + ")";

                _insertSQL = insertSQL;
            }

            return _insertSQL;
        }
コード例 #33
0
ファイル: SQLBuilder.cs プロジェクト: san90279/UK_OAS
        private String CreateMySqlUpdatePart(IDbCommand command)
        {
            // create updateColumns.
            StringBuilder updatePartSB = new StringBuilder();

            List<DataRow> columnsList = GetOracleUpdateColumnsList();

            foreach (DataRow schemaRow in columnsList)
            {
                String columnName = (String)schemaRow["ColumnName"];
                String columnType = schemaRow["DataType"].ToString();
                //String columnTypeName = schemaRow["DataTypeName"].ToString();

                Object currentValue = _row[columnName, DataRowVersion.Current];
                Object originalValue = _row[columnName, DataRowVersion.Original];

                //由原来的DBNull.Value和Null才带DefaultValue —> 任何时候都带DefaultValue
                //if ((originalValue == null || originalValue == DBNull.Value) && (currentValue == null || currentValue == DBNull.Value))
                //{
                currentValue = GetColumnIOrUValue(columnName, columnType);
                if ((currentValue == null || currentValue == DBNull.Value) &&
                (originalValue == null || originalValue == DBNull.Value))
                {
                    continue;
                }
                //}
                //else
                //{
                if (currentValue.Equals(originalValue)) continue;
                //}
            #if MySql
                if (updatePartSB.Length > 0)
                    updatePartSB.Append(", ");

                if (currentValue == null || currentValue == DBNull.Value)
                { updatePartSB.Append(columnName + " = null"); }
                else
                {
                    if (columnType == "System.String")
                    {
                        MySql.Data.MySqlClient.MySqlParameter mParam = new MySql.Data.MySqlClient.MySqlParameter();
                        mParam.ParameterName = "@" + columnName;
                        mParam.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.VarChar;
                        mParam.Value = currentValue;
                        command.Parameters.Add(mParam);

                        updatePartSB.Append(columnName + "=@" + columnName);
                    }
                    else if (columnType == "System.Byte[]")
                    {
                        if (currentValue != DBNull.Value && originalValue != DBNull.Value)
                        {
                            byte[] btc = (byte[])currentValue;
                            byte[] bto = (byte[])originalValue;
                            if (btc.Length == bto.Length)
                            {
                                bool blequal = true;
                                for (int i = 0; i < btc.Length; i++)
                                {
                                    if (!btc[i].Equals(bto[i]))
                                    {
                                        blequal = false;
                                        break;
                                    }
                                }
                                if (blequal)
                                {
                                    continue;
                                }
                            }
                        }

                        MySql.Data.MySqlClient.MySqlParameter mParam = new MySql.Data.MySqlClient.MySqlParameter();
                        mParam.ParameterName = "@" + columnName;
                        mParam.MySqlDbType = MySql.Data.MySqlClient.MySqlDbType.Blob;
                        mParam.Value = currentValue;
                        command.Parameters.Add(mParam);

                        updatePartSB.Append(columnName + "=@" + columnName);
                    }
                    else
                    { updatePartSB.Append(columnName + " = " + MarkMySql(columnType, TransformMarkerInColumnValue(columnType, currentValue))); }
                }
            #endif
            }

            return updatePartSB.ToString();
        }
コード例 #34
0
ファイル: SeasonsController.cs プロジェクト: nmeggos/MySqlLab
        public async Task<ActionResult> Edit([Bind(Include = "GameId,SeasonYear,GameDate,HomeTeam,HomeTeamScore,AwayTeam,AwayTeamScore")] Season season)
        {
            if (ModelState.IsValid)
            {
                MySql.Data.MySqlClient.MySqlParameter homeTeam = new MySql.Data.MySqlClient.MySqlParameter("@homeTeamParam", season.HomeTeam);
                MySql.Data.MySqlClient.MySqlParameter homeTeamScore = new MySql.Data.MySqlClient.MySqlParameter("@homeTeamScoreParam", season.HomeTeamScore);
                MySql.Data.MySqlClient.MySqlParameter awayTeam = new MySql.Data.MySqlClient.MySqlParameter("@awayTeamParam", season.AwayTeam);
                MySql.Data.MySqlClient.MySqlParameter awayTeamScore = new MySql.Data.MySqlClient.MySqlParameter("@awayTeamScoreParam", season.AwayTeamScore);

                db.Database.ExecuteSqlCommand("call updateSeason(@homeTeamParam,@homeTeamScoreParam, @awayTeamParam, @awayTeamScoreParam)", homeTeam, homeTeamScore, awayTeam, awayTeamScore);
                
                db.Entry(season).State = EntityState.Modified;
                await db.SaveChangesAsync();
                
                return RedirectToAction("Index");
            }
            return View(season);
        }