using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;namespace Warcraft_Manager
{
    public partial class FrmPlayerM_Show : Form
    {
        public FrmPlayerM_Show()
        {
            InitializeComponent();
        }
       
        OleDbConnection mConn = new OleDbConnection();
        OleDbDataAdapter mAdapter;
        OleDbCommandBuilder mBuilder;
        DataTable mDatatable = new DataTable();
        int mRowposition = 0;        private void showRecord()
        {
            if (mRowposition == -1)
            {
                mRowposition = 0;
                this.showRecord();
            }
            else
            {
                if (mDatatable.Rows[mRowposition]["国籍"].ToString() == mDatatable.Rows[mRowposition]["国家名"].ToString())
                {
                    pictureBox1.Image = Image.FromFile(mDatatable.Rows[mRowposition]["国家图标"].ToString());
                }                if (mDatatable.Rows[mRowposition]["种族"].ToString() == mDatatable.Rows[mRowposition]["种族名"].ToString())
                {
                    pictureBox2.Image = Image.FromFile(mDatatable.Rows[mRowposition]["种族图标"].ToString());
                }                if (mDatatable.Rows[mRowposition]["性别"].ToString() == mDatatable.Rows[mRowposition]["性别名"].ToString())
                {
                    pictureBox3.Image = Image.FromFile(mDatatable.Rows[mRowposition]["性别图标"].ToString());
                }                textBox1.Text = mDatatable.Rows[mRowposition]["战队"].ToString() + mDatatable.Rows[mRowposition]["战队后缀"].ToString() + mDatatable.Rows[mRowposition]["ID"].ToString();
            }
        }
        private void FrmPlayerM_Show_Load(object sender, EventArgs e)
        {
            mConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data\Warcraft_Info.mdb";
            mConn.Open();
            mAdapter = new OleDbDataAdapter("select * from 选手表,战队表,国籍表,种族表,性别表 where 选手表.战队=战队表.战队名 and 选手表.国籍=国籍表.国家名 and 选手表.种族=种族表.种族名 and 选手表.性别=性别表.性别名", mConn);
            mBuilder = new OleDbCommandBuilder(mAdapter);
            mAdapter.Fill(mDatatable);
            this.showRecord(); 
        }        private void button1_Click(object sender, EventArgs e)
        {
            mRowposition = 0;
            this.showRecord();
        }        private void button2_Click(object sender, EventArgs e)
        {
            if (mDatatable.Rows.Count != 0)
            {
                mRowposition = mDatatable.Rows.Count - 1;
                this.showRecord();
            }
        }        private void button3_Click(object sender, EventArgs e)
        {
            if (mRowposition != 0)
            {
                mRowposition = mRowposition - 1;
                this.showRecord();
            }
        }        private void button4_Click(object sender, EventArgs e)
        {
            if (mRowposition < mDatatable.Rows.Count - 1)
            {
                mRowposition = mRowposition + 1;
                this.showRecord();
            }
        }        private void button5_Click(object sender, EventArgs e)
        {
            if (mDatatable.Rows.Count != 0)
            {
                mDatatable.Rows[mRowposition].Delete();
                mAdapter.Update(mDatatable);//执行此句时显示“对于多个基表不支持动态 SQL 生成。”
                mRowposition = mRowposition - 1;
                this.showRecord();
            }
        }        private void FrmPlayerM_Show_FormClosed(object sender, FormClosedEventArgs e)
        {
            mConn.Close();
        }
    }
}