コード例 #1
0
        /// <summary>
        /// PrepareSQL语句DML操作
        /// </summary>
        /// <param name="sqls">SQL语句列表</param>
        public void PrepareExcute(string sql, List <DTOClass> dtolist)
        {
            if (sql.Length <= 0)
            {
                return;
            }
            try
            {
                List <string> fieldorders = SqlUtil.getFieldOrder(sql);
                foreach (string fieldorder in fieldorders)
                {
                    foreach (DTOClass dto in dtolist)
                    {
                        if (fieldorder == dto.name)
                        {
                            switch (dto.fieldtype.ToLower())
                            {
                            case "boolean":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Bit));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (bool)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "string":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.NVarChar));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (string)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "int32":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Int));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (int)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "int64":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.BigInt));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (Int64)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "single":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Real));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (float)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "double":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Float));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (decimal)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "decimal":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Decimal));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (decimal)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "datetime":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.DateTime));
                                if (dto.value != null)
                                {
                                    sqlCommand.Parameters[dto.name].Value = (DateTime)dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;

                            case "byte[]":
                                sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Image));
                                if (dto.value != null)
                                {
                                    byte[] b = (byte[])dto.value;
                                    if (b.Length > 10)
                                    {
                                        sqlCommand.Parameters[dto.name].Value = (byte[])dto.value;
                                    }
                                    else
                                    {
                                        sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                    }
                                }
                                else
                                {
                                    sqlCommand.Parameters[dto.name].Value = DBNull.Value;
                                }
                                break;
                            }
                        }
                        sql = sql.Replace("#" + dto.name + "#", ":" + dto.name);
                    }
                }
                sqlCommand.CommandText = sql;
                sqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Class [AccessDataSource] " + ex.Message, ex);
            }
            finally
            {
                ConnClose();
            }
        }
コード例 #2
0
ファイル: SqlDataSource.cs プロジェクト: hhz0577/CSharpKits
        /// <summary>
        /// PrepareSQL语句DML操作
        /// </summary>
        /// <param name="sqls">SQL语句列表</param>
        private void prepare(string sql, List <DTOClass> dtolist)
        {
            if (sql.Length <= 0)
            {
                return;
            }
            sqlCommand.Parameters.Clear();
            List <string> fieldorders = SqlUtil.getFieldOrder(sql);

            foreach (string fieldorder in fieldorders)
            {
                foreach (DTOClass dto in dtolist)
                {
                    if (fieldorder == dto.name)
                    {
                        switch (dto.fieldtype.ToLower())
                        {
                        case "boolean":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Bit));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (bool)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "string":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.VarChar));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (string)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "int32":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Int));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (int)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "int64":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.BigInt));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (Int64)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "single":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Real));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (float)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "double":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Float));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (double)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "decimal":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Decimal));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (decimal)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "datetime":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.DateTime));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = (DateTime)dto.value;
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;

                        case "byte[]":
                            sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Image));
                            if (dto.value != null)
                            {
                                byte[] b = (byte[])dto.value;
                                if (b.Length > 10)
                                {
                                    sqlCommand.Parameters["@" + dto.name].Value = (byte[])dto.value;
                                }
                                else
                                {
                                    sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                                }
                            }
                            else
                            {
                                sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value;
                            }
                            break;
                        }
                    }
                    sql = sql.Replace("#" + dto.name + "#", "@" + dto.name);
                }
            }

            sqlCommand.CommandText = sql;
            sqlCommand.ExecuteNonQuery();
        }
コード例 #3
0
        /// <summary>
        /// PrepareSQL语句DML操作
        /// </summary>
        /// <param name="sqls">SQL语句列表</param>
        private void prepare(string sql, List <DTOClass> dtolist)
        {
            if (sql.Length <= 0)
            {
                return;
            }
            sqlCommand.Parameters.Clear();
            List <string> fieldorders = SqlUtil.getFieldOrder(sql);

            foreach (string fieldorder in fieldorders)
            {
                foreach (DTOClass dto in dtolist)
                {
                    if (fieldorder == dto.name)
                    {
                        switch (dto.fieldtype.ToLower())
                        {
                        case "boolean":
                            //sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, DbType.Boolean));
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (bool)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "string":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (string)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "int32":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (int)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "int64":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (int)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "single":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (float)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "double":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (double)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "decimal":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (decimal)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "datetime":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (DateTime)dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;

                        case "byte[]":
                            if (dto.value != null)
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (byte[])dto.value));
                            }
                            else
                            {
                                sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null));
                            }
                            break;
                        }
                    }
                    sql = sql.Replace("#" + dto.name + "#", ":" + dto.name);
                }
            }
            sqlCommand.CommandText = sql;
            sqlCommand.ExecuteNonQuery();
        }