Пример #1
0
        public MysqlResults Query(string query, params MySqlParameter[] mySqlParameters)
        {
            insertId  = 0;
            exception = null;
            try
            {
                using (var command = new MySqlCommand(query, Connection))
                {
                    if (mySqlParameters != null && mySqlParameters.Length > 0)
                    {
                        command.Parameters.AddRange(mySqlParameters);
                    }

                    using (var reader = command.ExecuteReader())
                    {
                        insertId = command.LastInsertedId;

                        return(MysqlResults.LoadFromDataReader(reader));
                    }
                }
            }
            catch (Exception ex)
            {
                exception = ex;
                return(null);
            }
        }
Пример #2
0
        public static MysqlResults LoadFromDataReader(MySqlDataReader reader)
        {
            var mr = new MysqlResults();

            for (int i = 0; i < reader.FieldCount; i++)
            {
                mr.NameIndex.Add(reader.GetName(i), i);
            }

            if (reader.HasRows)
            {
                int colCount = reader.FieldCount;

                while (reader.Read())
                {
                    var      mro  = new MysqlRow();
                    object[] data = new object[colCount];
                    reader.GetValues(data);

                    mr.mysqlRows.AddLast(new MysqlRow()
                    {
                        Data = data, parent = mr
                    });
                }
                mr.NumberRows = mr.mysqlRows.Count;
                mr.currentRow = mr.mysqlRows.First;
            }

            return(mr);
        }
Пример #3
0
 public static MysqlRow FetchAssoc(MysqlResults results)
 {
     if (results == null)
     {
         return(null);
     }
     return(results.FetchAssoc());
 }
Пример #4
0
 public static long NumberRows(MysqlResults results)
 {
     if (results == null)
     {
         return(0);
     }
     return(results.NumberRows);
 }