示例#1
0
文件: Connection.cs 项目: anxkha/DRM
        public static object ExecuteSqlScalar(Query command)
        {
            EnsureConnected();

            command.Command.Connection = m_sqlConnection;

            return command.Command.ExecuteScalar();
        }
示例#2
0
文件: Connection.cs 项目: anxkha/DRM
        public static void ExecuteSql(Query command, SqlCallback callback)
        {
            EnsureConnected();

            command.Command.Connection = m_sqlConnection;

            var reader = command.Command.ExecuteReader();

            callback(reader);

            reader.Close();
        }
示例#3
0
        private List<RaidSignup> ReadAllHelper(Query query)
        {
            var newList = new List<RaidSignup>();

            using (new ReaderLock(_lock))
            {
                Connection.ExecuteSql(query, delegate(SqlDataReader reader)
                    {
                        while (reader.Read())
                        {
                            var newRaidSignup = new RaidSignup
                            {
                                RaidInstanceID = (int)reader[0],
                                Character = reader[1].ToString(),
                                Comment = reader[2].ToString(),
                                IsRostered = (bool)reader[3],
                                IsCancelled = (bool)reader[4],
                                RosteredSpecialization = (int)reader[5],
                                SignupDate = (DateTime)reader[6]
                            };

                            newList.Add(newRaidSignup);
                        }
                    });
            }

            return newList.Count > 0 ? newList : null;
        }