Beispiel #1
0
        public string execReader(string sql)
        {
            string value = String.Empty;

            DBUtil.onExecSqlBefore(_CLASS, "execReader", sql);
            cmd.CommandText = @sql;
            state           = ConnectionState.Executing;
            using (MySqlDataReader dr = cmd.ExecuteReader(CommandBehavior.Default))
            {
                switch (baseApi.getDataType().ToLower())
                {
                case "json":
                    value = DBUtil.DataReaderToJsonArrayString(dr, baseApi.getReSplit());
                    break;

                case "jsonobject":
                    //value = DBUtil.DataReaderToJsonObjectString(dr, baseApi.getReSplit(), );
                    break;

                case "ary":
                case "array":
                    value = DBUtil.DataReaderToArrayString(dr, baseApi.getReSplit());
                    break;

                case "html":
                    value = DBUtil.DataReaderToHtml(dr, baseApi.getRSplit(), baseApi.getCSplit(), baseApi.getReSplit());
                    break;
                }
                dr.Close();
            }
            return(value);
        }
Beispiel #2
0
        /// <summary>
        /// 普通执行Sql语句  --  只适用于update, insert, delete, 存储过程 四种
        /// </summary>
        /// <param name="sql">执行sql语言</param>
        /// <returns>
        /// 1: 如果执行成功则返回字符串1
        /// 2: 如果执行失败则返回执行失败信息
        /// </returns>
        public override string execTrans(string sql, string dataType, string reSplit, string rSplit, string cSplit)
        {
            DBUtil.onExecSqlBefore(_CLASS, "execTrans", sql);
            MySqlTransaction sqlTrans   = null;
            MySqlConnection  connection = getDbConnecton();
            string           value      = String.Empty;

            try
            {
                sqlTrans = connection.BeginTransaction(); // 创建一个执行SQL事务的对象, 开启事务
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection  = connection;
                cmd.Transaction = sqlTrans;  //将执行事务的对象赋值给sqlCommand
                cmd.CommandText = @sql;
                using (IDataReader dr = cmd.ExecuteReader(CommandBehavior.Default)) {
                    switch (dataType.ToLower())
                    {
                    case "json":
                        value = DBUtil.DataReaderToJsonArrayString(dr, reSplit);
                        break;

                    case "ary":
                    case "array":
                        value = DBUtil.DataReaderToArrayString(dr, reSplit);
                        break;

                    case "html":
                        value = DBUtil.DataReaderToHtml(dr, rSplit, cSplit, reSplit);
                        break;
                    }
                    dr.Close();
                }
                sqlTrans.Commit(); //提交事务
                connection.Close();
            }
            catch (Exception ex)
            {
                if (sqlTrans != null)
                {
                    sqlTrans.Rollback(); connection.Close();
                }
                value = Native.getErrorMsg(ex.Message);
                DBUtil.onExecSqlError(_CLASS, "execTrans", sql, ex.Message);
            }
            return(value);
        }
Beispiel #3
0
        /// <summary>
        /// getQueryResultByType: 根据不同的dataType得到相应的查询结果
        /// </summary>
        /// <param name="sql">要执行查询的sql语句</param>
        /// <param name="dataType">数据类型</param>
        /// <param name="reSplit">结果集分隔符</param>
        /// <param name="rSplit">行分隔符</param>
        /// <param name="cSplit">列分隔符</param>
        /// <returns>查询结果根据dataType而得到的字符串数据</returns>
        public override string getQueryResultByType(string sql, string dataType, string reSplit, string rSplit, string cSplit)
        {
            string value = String.Empty;

            DBUtil.onExecSqlBefore(_CLASS, "getQueryResultByType", sql);
            try
            {
                using (MySqlConnection sqlConn = new MySqlConnection(dbInfo.toMyConnectionString()))
                {
                    sqlConn.Open();
                    MySqlCommand sqlComm = sqlConn.CreateCommand();
                    sqlComm.CommandText = sql;
                    using (IDataReader dr = sqlComm.ExecuteReader(CommandBehavior.Default)) {
                        switch (dataType.ToLower())
                        {
                        case "json":
                            value = DBUtil.DataReaderToJsonArrayString(dr, reSplit);
                            break;

                        case "json-object":
                            value = DBUtil.DataReaderToJsonArrayString(dr, reSplit);
                            break;

                        case "ary":
                        case "array":
                            value = DBUtil.DataReaderToArrayString(dr, reSplit);
                            break;

                        case "html":
                            value = DBUtil.DataReaderToHtml(dr, rSplit, cSplit, reSplit);
                            break;
                        }
                        dr.Close();
                    }
                    sqlConn.Close();
                }
            }
            catch (Exception ex)
            {
                value = Native.getErrorMsg(ex.Message);
                DBUtil.onExecSqlError(_CLASS, "getQueryResultByType", sql, ex.Message);
            }
            return(value);
        }