Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > C# ข้อมูลที่จะดึงออกมาจากฐานข้อมูล แสดงใน DataGridView มันขึ้นซ้อนกันค่ะ



 

C# ข้อมูลที่จะดึงออกมาจากฐานข้อมูล แสดงใน DataGridView มันขึ้นซ้อนกันค่ะ

 



Topic : 087126

Guest




Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.IO;
using System.Windows.Forms;

namespace WindowsApplication2
{
    public partial class frmAdmin : Form
    {
        public frmAdmin()
        {
            InitializeComponent();
        }

        OleDbConnection Con = new OleDbConnection();
        OleDbDataAdapter da;
        DataSet ds = new DataSet();
        OleDbDataReader dr;
        OleDbTransaction tr;
        OleDbCommand comUser;
        //bool IsFind = false;
        DataTable dt;

        string strConn = DBDataConn.strConn;
        string rPassword= "";
        string rUserName = "";
        string rStatus = "";
        string rPosition = "";

        private void frmAdmin_Load(object sender, EventArgs e)
        {
            if (Con.State == ConnectionState.Open)
                Con.Close();
            Con.ConnectionString = strConn;
            Con.Open();
            
            ShowAllUser();
        }

        private void cmdAddUser_Click(object sender, EventArgs e)
        {
            if ((txtAddNameUser.Text == "") || (txtAddPassword.Text== "")) {

                MessageBox.Show("โปรดป้อนข้อมูลให้ครบ", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtAddNameUser.Focus();

                return;
            }

            if (txtAddPassword.Text == txtAddPasswordAgain.Text) {
                string sqlAdd = "";
                sqlAdd = "INSERT INTO UserName";
                sqlAdd += " VALUES ('" + txtAddNameUser.Text + "',";
                sqlAdd += "'" + txtAddPassword.Text + "',";

                if (optOwner.Checked == true) {
                    sqlAdd += "'0','1')";
                } else if (optEmployee.Checked == true) {
                    sqlAdd += "'1','1')";
                }

                if (Con.State == ConnectionState.Open)
                    Con.Close();
                Con.ConnectionString = strConn;
                Con.Open();


                tr = Con.BeginTransaction();
                comUser = new OleDbCommand();

                try {
                    comUser.CommandType = CommandType.Text;
                    comUser.CommandText = sqlAdd;
                    comUser.Connection = Con;
                    comUser.Transaction = tr;
                    comUser.ExecuteNonQuery();
                } catch (Exception ex) {
                    MessageBox.Show("ไม่สามารถเพิ่มรายชื่่อผู้ใช้ระบบได้ เนื่องจาก" + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    tr.Rollback();
                    txtAddNameUser.Focus();
                    txtAddNameUser.SelectAll();

                    return;
                }

                if (MessageBox.Show("คุณต้องการเพิ่มรายชื่อผู้ใช้ระบบ ใช่หรือไม่ ?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
                    tr.Commit();
                    MessageBox.Show("เพิ่มรายชื่อผู้ใช้ระบบ เรียบร้อยแล้ว", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    ShowAllUser();

                    txtAddNameUser.Text = "";
                    txtAddNameUser.Focus();
                    txtAddPassword.Text = "";
                    txtAddPasswordAgain.Text = "";
                } else {
                    tr.Rollback();
                }
            } else {
                MessageBox.Show("โปรดป้อนรหัส รหัสผ่าน ให้ตรงกัน", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtAddPassword.Text = "";
                txtAddPassword.Focus();
                txtAddPasswordAgain.Text = "";
            }
        }

        private void ShowAllUser()
        {
            string sqlAllUser = "";

            if (Con.State == ConnectionState.Open)
                Con.Close();
            Con.ConnectionString = strConn;
            Con.Open();
            
            sqlAllUser = "SELECT * FROM UserName ";

            comUser = new OleDbCommand();
            comUser.CommandType = CommandType.Text;
            comUser.CommandText = sqlAllUser;
            comUser.Connection = Con;
            dr = comUser.ExecuteReader();

            if(dr.HasRows){
                dt=new DataTable();
                dt.Load(dr);
                
                dgvAllUser.DataSource=dt;
                dgvAllUser.Columns.Clear();
                FormatGridWithData();
            } else {

                dgvAllUser.DataSource = null;
            }
            
            dr.Close();
        }

        private void FormatGridWithData()
        {
            DataGridViewTextBoxColumn txtColumn;
            
            //NameUser
            txtColumn = new DataGridViewTextBoxColumn();
            txtColumn.Name = "NameUser";
            txtColumn.HeaderText = "ชื่อผู้ใช้";
            txtColumn.ReadOnly = true;
            txtColumn.Width = 90;
            txtColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvAllUser.Columns.Add(txtColumn);

            //Password
            txtColumn = new DataGridViewTextBoxColumn();
            txtColumn.Name = "Password";
            txtColumn.HeaderText = "รหัสผ่าน";
            txtColumn.ReadOnly = true;
            txtColumn.Width = 90;
            txtColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvAllUser.Columns.Add(txtColumn);

            //Position
            txtColumn = new DataGridViewTextBoxColumn();
            txtColumn.Name = "Position";
            txtColumn.HeaderText = "ตำแหน่งผู้ใช้ระบบ";
            txtColumn.ReadOnly = true;
            txtColumn.Width = 95;
            txtColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvAllUser.Columns.Add(txtColumn);

            //UserStatus
            txtColumn = new DataGridViewTextBoxColumn();
            txtColumn.Name = "UserStatus";
            txtColumn.ReadOnly = true;
            txtColumn.HeaderText = "สถานะของผู้ใช้ระบบ";
            txtColumn.Width = 100;
            txtColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvAllUser.Columns.Add(txtColumn);
        }

        private void cmdEditStatus_Click(object sender, EventArgs e)
        {
            if ((txtEditUserName.Text== "") || (txtEditPassword.Text == "")) {

                MessageBox.Show("โปรดป้อนข้อมูลให้ครบ", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtEditUserName.Focus();

                return;
            }

            string sqlEditPassword = "";
            long tempRowsAffectd = 0;

            if (txtEditPassword.Text == txtEditPasswordAgain.Text) {
                sqlEditPassword = "UPDATE UserName";
                sqlEditPassword += " SET UserStatus='1'";
                sqlEditPassword += " WHERE (NameUser='" + txtEditUserName.Text + "')";
                sqlEditPassword += " AND (Password='" + txtEditPassword.Text + "')";

                if (Con.State == ConnectionState.Open)
                    Con.Close();
                Con.ConnectionString = strConn;
                Con.Open();

                tr = Con.BeginTransaction();
                comUser = new OleDbCommand();

                try {
                    comUser.CommandType = CommandType.Text;
                    comUser.CommandText = sqlEditPassword;
                    comUser.Connection = Con;
                    comUser.Transaction = tr;
                    tempRowsAffectd = comUser.ExecuteNonQuery();

                    if (tempRowsAffectd == 0) {

                        MessageBox.Show("รหัสชื่อผู้ใช้ที่คุณป้อนไม่มี", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtEditUserName.Focus();
                        txtEditUserName.SelectAll();

                        return;
                    }
                } catch (Exception ex) {
                    MessageBox.Show("ไม่สามารถแก้ไขข้อมูลได้ เนื่องจาก" + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtEditUserName.Focus();
                    txtEditUserName.SelectAll();

                    return;
                }

                if (MessageBox.Show("คุณต้องการแก้ไขสถานะของ ผู้ใช้ระบบ ใช่หรือไม่ ?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {

                    tr.Commit();
                    MessageBox.Show("แก้ไข้อมูลเรียบร้อยแล้ว", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    ShowAllUser();

                    txtEditUserName.Text = "";
                    txtEditUserName.Focus();
                    txtEditPassword.Text = "";
                    txtEditPasswordAgain.Text = "";
                } else {
                    tr.Rollback();
                }
            } else {
                MessageBox.Show("โปรดป้อนรหัส รหัสผ่านให้เหมือนกัน", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtEditPassword.Text = "";
                txtEditPassword.Focus();
                txtEditPasswordAgain.Text = "";
            }
        }

        private void cmdEditPassword_Click(object sender, EventArgs e)
        {
            if ((txtEditUserName.Text == "") || (txtEditPassword.Text == "")) {

                MessageBox.Show("โปรดป้อนข้อมูลให้ครบ", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtEditUserName.Focus();
                return;
            }

            string sqlEdit = "";
            long temRowsAffected = 0;

            if (txtEditPassword.Text == txtEditPasswordAgain.Text) {
                sqlEdit = "UPDATE UserName";
                sqlEdit += " SET UserName.Password='" + txtEditPassword.Text + "'";
                sqlEdit += " WHERE (UserName.NameUser='" + txtEditUserName.Text + "')";

                if (Con.State == ConnectionState.Open)
                    Con.Close();
                Con.ConnectionString = strConn;
                Con.Open();

                tr = Con.BeginTransaction();
                comUser = new OleDbCommand();

                try {
                    //comUser
                    comUser.CommandType = CommandType.Text;
                    comUser.CommandText = sqlEdit;
                    comUser.Connection = Con;
                    comUser.Transaction = tr;
                    temRowsAffected = comUser.ExecuteNonQuery();

                    if (temRowsAffected == 0) {

                        MessageBox.Show("รหัส ชื่อผู้ใช้ ที่คุณป้อน ไม่มี", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtEditUserName.Focus();
                        txtEditUserName.SelectAll();

                        return;
                    }
                } catch (Exception ex) {

                    MessageBox.Show("ไม่สามารถแก้ไขข้อมูลได้ เนื่องจาก" + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtEditUserName.Focus();
                    txtEditUserName.SelectAll();

                    return;
                }

                if (MessageBox.Show("คุณต้องการแก้ไขรหัสผ่านของผู้ใช้ระบบ ใช่หรือไม่", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {

                    tr.Commit();
                    MessageBox.Show("แก้ไขข้อมูล เรียบร้อยแล้ว", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    ShowAllUser();

                    txtEditUserName.Text = "";
                    txtEditUserName.Focus();
                    txtEditPassword.Text = "";
                    txtEditPasswordAgain.Text = "";

                } else {
                    tr.Rollback();
                }
            } else {
                MessageBox.Show("กรุณาป้อนรหัส รหัสผ่าน ให้เหมือนกัน", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtEditPassword.Text = "";
                txtEditPassword.Focus();
                txtEditPasswordAgain.Text = "";
            }
        }

        private void cmdDelete_Click(object sender, EventArgs e)
        {
            long tempRowsAffected = 0;
            if ((txtDeleteUserName.Text == "") || (txtDeletePassword.Text == "")) {

                MessageBox.Show("โปรดป้อนข้อมูลให้ครบ", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtDeleteUserName.Focus();

                return;
             }

            string sqlDelete = "";
            sqlDelete ="DELETE * FROM UserName";
            sqlDelete += " WHERE (NameUser='" + txtDeleteUserName.Text + "')";
            sqlDelete += " AND (Password='" + txtDeletePassword.Text + "')";

            if(Con.State==ConnectionState.Open)
                Con.Close();
            Con.ConnectionString=strConn;
            Con.Open();

            tr=Con.BeginTransaction();
            comUser=new OleDbCommand();

            try{
                comUser.CommandType=CommandType.Text;
                comUser.CommandText=sqlDelete;
                comUser.Connection=Con;
                comUser.Transaction=tr;
                tempRowsAffected=comUser.ExecuteNonQuery();

                if(tempRowsAffected==0){
                    MessageBox.Show("รหัสชื่อผู้ใช้ ที่คุณป้อน ไม่มี ", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txtEditUserName.Focus();
                    txtEditUserName.SelectAll();

                    return;
                }
            }catch(Exception ex){
                MessageBox.Show("ไม่สามารถลบข้อมูลได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtDeleteUserName.Focus();
                txtDeleteUserName.SelectAll();

                return;
            }

            if(MessageBox.Show("คุณต้องการลบรหัสผ่าน ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){

                tr.Commit();
                MessageBox.Show("ลบรหัสผ่าน เรียบร้อยแล้ว", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);

                ShowAllUser();

                txtDeleteUserName.Text="";
                txtDeletePassword.Text="";
                txtDeleteUserName.Focus();
            }else{
                tr.Rollback();
            }
        }


        private void dgvAllUser_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex == -1) {
                rUserName = Convert.ToString(dgvAllUser.Rows[e.RowIndex].Cells["NameUser"].Value);
                rPassword = Convert.ToString(dgvAllUser.Rows[e.RowIndex].Cells["Password"].Value);
                rPosition = Convert.ToString(dgvAllUser.Rows[e.RowIndex].Cells["Position"].Value);
                rStatus = Convert.ToString(dgvAllUser.Rows[e.RowIndex].Cells["Status"].Value);
            }
            this.Close();
        }
    }
}




Tag : .NET, Ms Access, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-11-23 03:10:27 By : ladyman View : 1711 Reply : 3
 

 

No. 1



โพสกระทู้ ( 111 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วงนี้มันแปลกๆนะครับยังไงก็ลองดูรูปแบบมันดูอีกทีนะครับ

Code (C#)
private void ShowAllUser()
{
string sqlAllUser = "";

if (Con.State == ConnectionState.Open)
Con.Close();
Con.ConnectionString = strConn;
Con.Open();

sqlAllUser = "SELECT * FROM UserName ";

comUser = new OleDbCommand();
comUser.CommandType = CommandType.Text;
comUser.CommandText = sqlAllUser;
comUser.Connection = Con;
dr = comUser.ExecuteReader();

if(dr.HasRows){
dt=new DataTable();
dt.Load(dr);

dgvAllUser.DataSource=dt;
dgvAllUser.Columns.Clear();
FormatGridWithData();
} else {

dgvAllUser.DataSource = null;
}

dr.Close();
}










ประวัติการแก้ไข
2012-11-23 09:50:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 08:44:27 By : Littlefatboyz
 


 

No. 2

Guest


อ๋อได้แล้วค่ะ ขอบคุณมาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 15:46:40 By : ladyman
 

 

No. 3

Guest


Code (C#)
if (IsFind == true)
                ds.Tables["AllUser"].Clear();

            da = new OleDbDataAdapter(sqlAllUser, Con);
            da.Fill(ds, "AllUser");

            if (ds.Tables["AllUser"].Rows.Count != 0) {
                IsFind = true;

                dgvAllUser.DataSource = ds.Tables["AllUser"];

                string tempStatus = "";
                string tempPosition = "";
                for (int i = 0; i < ds.Tables["AllUser"].Rows.Count; i++) {

                    tempPosition = Convert.ToString(dgvAllUser.Rows[i].Cells[2].Value);

                    if (tempPosition == "0") {
                        dgvAllUser.Rows[i].Cells[2].Value = "เจ้าของร้าน";
                    } else {
                        dgvAllUser.Rows[i].Cells[2].Value = "พนักงานหน้าร้าน";
                    }

                    tempStatus = Convert.ToString(dgvAllUser.Rows[i].Cells[3].Value);
                    if (tempStatus == "0") {
                        dgvAllUser.Rows[i].Cells[3].Value = "ยกเลิกการใช้งาน";
                    } else {
                        dgvAllUser.Rows[i].Cells[3].Value = "ปกติ";
                    }
                }
            } else {
                IsFind = false;
                dgvAllUser.DataSource = null;
                
            }
            dgvAllUser.Columns.Clear();
            FormatGridWithData();




เปลี่ยนเป็นแบบนี้ก็ได้เหมือนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 15:52:28 By : ladyman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# ข้อมูลที่จะดึงออกมาจากฐานข้อมูล แสดงใน DataGridView มันขึ้นซ้อนกันค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่