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,037

HOME > .NET Framework > Forum > สอบถามมือใหม่ครับผม อยากดึงข้อมูลในดาต้าเบส มาแสดงใน Datagridview ครับ ทำตามตัวอย่างมันไม่ขึ้น



 

สอบถามมือใหม่ครับผม อยากดึงข้อมูลในดาต้าเบส มาแสดงใน Datagridview ครับ ทำตามตัวอย่างมันไม่ขึ้น

 



Topic : 112313



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



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




จากตัวอย่างที่มีในนี้ครับ

https://www.thaicreate.com/dotnet/c-sharp-dotnet-windows-form-application-winapp.html

ผมต้องการนำ ค่าใน ดาต้าเบสมาแสดงใน datagridview เฉยๆ ครับ ในที่นี้ทำแล้ว datagridview มันไม่ขึ้นอะไรเรย

แต่กดปุ่ม Check SQL สามารถเชื่อมต่อได้ ครับ

ผมทำมาหน้า frmHome ได้ดังนี้

Code (C#)
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 MySql.Data.MySqlClient;

namespace WindowsFormsApplication1
{
    public partial class frmHome : Form
    {
        public frmHome()
        {
            InitializeComponent();
        }

        private void frmHome_Load(object sender, EventArgs e)
        {
            BindDataGrid();
        }

        private void BindDataGrid()
        {
            DataTable dt = new DataTable();
            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
            MySqlConnection myConn = new MySqlConnection(myConnection);
            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
            myConn.Open();
            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/

            MySqlCommand myCommand = myConn.CreateCommand();
            myCommand.CommandText = "SELECT * FROM table;";
            myCommand.CommandType = CommandType.Text;

            myDataAdapter = new MySqlDataAdapter(myCommand);
            myDataAdapter.Fill(dt);

            //DataSet ds = new DataSet();
            //MessageBox.Show("Connected");
            myConn.Close();


            this.dgName.DataSource = dt;

            this.dgName.Columns.Clear();

            DataGridViewTextBoxColumn column;

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Username";
            column.HeaderText = "Username";
            column.Width = 50;
            this.dgName.Columns.Add(column);

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Name";
            column.HeaderText = "Name";
            column.Width = 100;
            this.dgName.Columns.Add(column);

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Email";
            column.HeaderText = "Email";
            column.Width = 150;
            this.dgName.Columns.Add(column);

            dt = null;
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            
        }

        private void btn_edit_Click(object sender, EventArgs e)
        {

        }

        private void btn_del_Click(object sender, EventArgs e)
        {

        }

        private void btn_exit_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Are you sure to exit program?", "Confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

        private void btn_check_Click(object sender, EventArgs e)
        {
            try
            {
                string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
                MySqlConnection myConn = new MySqlConnection(myConnection);
                MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                myDataAdapter.SelectCommand = new MySqlCommand("select * from table;",myConn);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
                myConn.Open();
                DataSet ds = new DataSet();
                MessageBox.Show("Connected");
                myConn.Close();

            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}



adsfad



Tag : .NET, MySQL, Win (Windows App), C#, Windows









ประวัติการแก้ไข
2014-11-03 14:29:14
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-03 14:28:19 By : angelkiller9 View : 1150 Reply : 7
 

 

No. 1



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



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


บรรทัดนี้ ลองเอาไปใส่ข้างล่างดูไหมครับ
myConn.Close();


this.dgName.DataSource = dt; <<<<< อันนี้ใส่ data เข้า gridview


this.dgName.Columns.Clear(); <<<<<< ส่วนอันนี้ clear มัน???






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 15:03:34 By : nongpaoza
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : nongpaoza เมื่อวันที่ 2014-11-03 15:03:34
รายละเอียดของการตอบ ::
คือมันไม่ขึ้นแม้กระทั่งส่วนหัวของดาต้ากริดวิว เรยอ่ะครับ ย้ายไปไว้ข้างล่างแล้วก็เหมือนเดิม แต่ถ้าไปสร้าง datagridview ในหน้า design จะขึ้นหัว แต่ไม่รู้จะ อ่านข้อมูลเข้า datagrid อย่างไร คือกำลังถูไถไป ไม่เคยเขียนคับ 555+

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 15:10:03 By : angelkiller9
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : angelkiller9 เมื่อวันที่ 2014-11-03 15:10:03
รายละเอียดของการตอบ ::
สู้ๆครับท่าน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 15:12:52 By : nongpaoza
 


 

No. 4



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ผมว่าโค๊ดส่วนนี้
Code (C#)
this.dgName.Columns.Clear();

            DataGridViewTextBoxColumn column;

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Username";
            column.HeaderText = "Username";
            column.Width = 50;
            this.dgName.Columns.Add(column);

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Name";
            column.HeaderText = "Name";
            column.Width = 100;
            this.dgName.Columns.Add(column);

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "Email";
            column.HeaderText = "Email";
            column.Width = 150;
            this.dgName.Columns.Add(column);


แก้เป็นแบบนี้ดีไม๊ครับ

Code (C#)
this.dgName.Columns[0].Width = 50;
this.dgName.Columns[1].Width = 100;
this.dgName.Columns[2].Width = 150;


สั้นและแก้ปัญหา Columns Width ด้วยส่วน datatable ก็

Code (C#)
System.Data.DataTable GetTable( )

        {
            
            DataTable dt = new DataTable();
            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
            MySqlConnection myConn = new MySqlConnection(myConnection);
            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
            myConn.Open();
            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/

            MySqlCommand myCommand = myConn.CreateCommand();
            myCommand.CommandText = "SELECT * FROM table;";
            myCommand.CommandType = CommandType.Text;

            myDataAdapter = new MySqlDataAdapter(myCommand);
            myDataAdapter.Fill(dt);
            return dt;

        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 15:24:56 By : lamaka.tor
 


 

No. 5

Guest


นายเขียนสลับกัน

นายต้องกำหนด column property ก่อน bind data

ปล. no.4 มั่วอีกแระ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 16:14:58 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 6



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2014-11-03 16:14:58
รายละเอียดของการตอบ ::
ไม่ได้เขียนสลับครับ เรียกว่าเขียนไม่หมดต่างหาก แค่เป็นแนวทางครับเต็มๆแบบบ้านๆของผมประมาณนี้ครับ

Code (C#)
private void frmHome_Load(object sender, EventArgs e)
        {
            this.dgName.DataSource = GetTable();
             this.dgName.Columns[0].Width = 50;
             this.dgName.Columns[1].Width = 100;
              this.dgName.Columns[2].Width = 150;
        }

System.Data.DataTable GetTable( )

        {
            
            DataTable dt = new DataTable();
            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
            MySqlConnection myConn = new MySqlConnection(myConnection);
            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
            myConn.Open();
            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/

            MySqlCommand myCommand = myConn.CreateCommand();
            myCommand.CommandText = "SELECT * FROM table;";
            myCommand.CommandType = CommandType.Text;

            myDataAdapter = new MySqlDataAdapter(myCommand);
            myDataAdapter.Fill(dt);
            return dt;

        }
private void btn_check_Click(object sender, EventArgs e)
{
this.dgName.DataSource = null;
            this.dgName.DataSource = GetTable();
             this.dgName.Columns[0].Width = 50;
             this.dgName.Columns[1].Width = 100;
              this.dgName.Columns[2].Width = 150;
}



ประมาณนี้ใช่ไม๊ครับท่านเขียนผิดตรงไหนก็ขออภัยมณี ผีเสื้อสมุทร และ สุดสาครด้วยครับ


ประวัติการแก้ไข
2014-11-03 17:13:10
2014-11-03 17:15:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 17:03:44 By : lamaka.tor
 


 

No. 7

Guest


แสดงว่านายไม่รู้จัก autogeneratecolumn = false อ่ะดิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-03 19:31:16 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามมือใหม่ครับผม อยากดึงข้อมูลในดาต้าเบส มาแสดงใน 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 00
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 อัตราราคา คลิกที่นี่