|
|
|
C# ข้อมูลที่จะดึงออกมาจากฐานข้อมูล แสดงใน DataGridView มันขึ้นซ้อนกันค่ะ |
|
|
|
|
|
|
|
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#
|
|
|
|
|
|
Date :
2012-11-23 03:10:27 |
By :
ladyman |
View :
1757 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วงนี้มันแปลกๆนะครับยังไงก็ลองดูรูปแบบมันดูอีกทีนะครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ๋อได้แล้วค่ะ ขอบคุณมาก
|
|
|
|
|
Date :
2012-11-23 15:46:40 |
By :
ladyman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|