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

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


 

[.NET] สอบถามมือใหม่ครับผม อยากดึงข้อมูลในดาต้าเบส มาแสดงใน 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#)
001.using System;
002.using System.Collections.Generic;
003.using System.ComponentModel;
004.using System.Data;
005.using System.Drawing;
006.using System.Linq;
007.using System.Text;
008.using System.Threading.Tasks;
009.using System.Windows.Forms;
010.using MySql.Data.MySqlClient;
011. 
012.namespace WindowsFormsApplication1
013.{
014.    public partial class frmHome : Form
015.    {
016.        public frmHome()
017.        {
018.            InitializeComponent();
019.        }
020. 
021.        private void frmHome_Load(object sender, EventArgs e)
022.        {
023.            BindDataGrid();
024.        }
025. 
026.        private void BindDataGrid()
027.        {
028.            DataTable dt = new DataTable();
029.            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
030.            MySqlConnection myConn = new MySqlConnection(myConnection);
031.            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
032.            myConn.Open();
033.            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
034.            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/
035. 
036.            MySqlCommand myCommand = myConn.CreateCommand();
037.            myCommand.CommandText = "SELECT * FROM table;";
038.            myCommand.CommandType = CommandType.Text;
039. 
040.            myDataAdapter = new MySqlDataAdapter(myCommand);
041.            myDataAdapter.Fill(dt);
042. 
043.            //DataSet ds = new DataSet();
044.            //MessageBox.Show("Connected");
045.            myConn.Close();
046. 
047. 
048.            this.dgName.DataSource = dt;
049. 
050.            this.dgName.Columns.Clear();
051. 
052.            DataGridViewTextBoxColumn column;
053. 
054.            column = new DataGridViewTextBoxColumn();
055.            column.DataPropertyName = "Username";
056.            column.HeaderText = "Username";
057.            column.Width = 50;
058.            this.dgName.Columns.Add(column);
059. 
060.            column = new DataGridViewTextBoxColumn();
061.            column.DataPropertyName = "Name";
062.            column.HeaderText = "Name";
063.            column.Width = 100;
064.            this.dgName.Columns.Add(column);
065. 
066.            column = new DataGridViewTextBoxColumn();
067.            column.DataPropertyName = "Email";
068.            column.HeaderText = "Email";
069.            column.Width = 150;
070.            this.dgName.Columns.Add(column);
071. 
072.            dt = null;
073.        }
074. 
075.        private void btn_add_Click(object sender, EventArgs e)
076.        {
077.             
078.        }
079. 
080.        private void btn_edit_Click(object sender, EventArgs e)
081.        {
082. 
083.        }
084. 
085.        private void btn_del_Click(object sender, EventArgs e)
086.        {
087. 
088.        }
089. 
090.        private void btn_exit_Click(object sender, EventArgs e)
091.        {
092.            if (MessageBox.Show("Are you sure to exit program?", "Confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
093.            {
094.                Application.Exit();
095.            }
096.        }
097. 
098.        private void btn_check_Click(object sender, EventArgs e)
099.        {
100.            try
101.            {
102.                string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
103.                MySqlConnection myConn = new MySqlConnection(myConnection);
104.                MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
105.                myDataAdapter.SelectCommand = new MySqlCommand("select * from table;",myConn);
106.                MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
107.                myConn.Open();
108.                DataSet ds = new DataSet();
109.                MessageBox.Show("Connected");
110.                myConn.Close();
111. 
112.            }
113.            catch(Exception ex)
114.            {
115.                MessageBox.Show(ex.Message);
116.            }
117.        }
118.    }
119.}



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 : 1173 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#)
01.this.dgName.Columns.Clear();
02. 
03.            DataGridViewTextBoxColumn column;
04. 
05.            column = new DataGridViewTextBoxColumn();
06.            column.DataPropertyName = "Username";
07.            column.HeaderText = "Username";
08.            column.Width = 50;
09.            this.dgName.Columns.Add(column);
10. 
11.            column = new DataGridViewTextBoxColumn();
12.            column.DataPropertyName = "Name";
13.            column.HeaderText = "Name";
14.            column.Width = 100;
15.            this.dgName.Columns.Add(column);
16. 
17.            column = new DataGridViewTextBoxColumn();
18.            column.DataPropertyName = "Email";
19.            column.HeaderText = "Email";
20.            column.Width = 150;
21.            this.dgName.Columns.Add(column);


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

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


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

Code (C#)
01.System.Data.DataTable GetTable( )
02. 
03.        {
04.             
05.            DataTable dt = new DataTable();
06.            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
07.            MySqlConnection myConn = new MySqlConnection(myConnection);
08.            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
09.            myConn.Open();
10.            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
11.            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/
12. 
13.            MySqlCommand myCommand = myConn.CreateCommand();
14.            myCommand.CommandText = "SELECT * FROM table;";
15.            myCommand.CommandType = CommandType.Text;
16. 
17.            myDataAdapter = new MySqlDataAdapter(myCommand);
18.            myDataAdapter.Fill(dt);
19.            return dt;
20. 
21.        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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#)
01.private void frmHome_Load(object sender, EventArgs e)
02.        {
03.            this.dgName.DataSource = GetTable();
04.             this.dgName.Columns[0].Width = 50;
05.             this.dgName.Columns[1].Width = 100;
06.              this.dgName.Columns[2].Width = 150;
07.        }
08. 
09.System.Data.DataTable GetTable( )
10. 
11.        {
12.             
13.            DataTable dt = new DataTable();
14.            string myConnection = "datasource=localhost;port=3306;username=root;password=1234;database=aprdb;";
15.            MySqlConnection myConn = new MySqlConnection(myConnection);
16.            MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
17.            myConn.Open();
18.            /*myDataAdapter.SelectCommand = new MySqlCommand("select * from table;", myConn);
19.            MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);*/
20. 
21.            MySqlCommand myCommand = myConn.CreateCommand();
22.            myCommand.CommandText = "SELECT * FROM table;";
23.            myCommand.CommandType = CommandType.Text;
24. 
25.            myDataAdapter = new MySqlDataAdapter(myCommand);
26.            myDataAdapter.Fill(dt);
27.            return dt;
28. 
29.        }
30.private void btn_check_Click(object sender, EventArgs e)
31.{
32.this.dgName.DataSource = null;
33.            this.dgName.DataSource = GetTable();
34.             this.dgName.Columns[0].Width = 50;
35.             this.dgName.Columns[1].Width = 100;
36.              this.dgName.Columns[2].Width = 150;
37.}



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


ประวัติการแก้ไข
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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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