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 > .Net ใครรู้คำสั่ง หาชื่อ Column ของคำสั่ง SQL บ้างครับ



 

.Net ใครรู้คำสั่ง หาชื่อ Column ของคำสั่ง SQL บ้างครับ

 



Topic : 025907

Guest




พอดีผมอยากได้คำสั่ง SQL ที่แสดงผลชื่อ column จากคำสั่ง select

เช่น ผมต้องการทราบชื่อ column จากคำสั่ง SQL ด้านล่าง

Code (VB.NET)
   SELECT     *
FROM         PDR_PART_MASTER 
                 INNER JOIN
                      PDR_SCHEDULE_DETAIL 
                 ON 
                PDR_PART_MASTER.DIVCDE = PDR_SCHEDULE_DETAIL.DIVCDE




เท่าที่ผมทราบ มันมีคำสั่ง

Code (VB.NET)
SELECT     Column_name
FROM         information_schema.columns
WHERE     (table_name = 'ชื่อตาราง')


ข้อเสียของคำสั่งนี้คือ มันต้องใส่ชื่อตารางเข้าไปตรง table_name และจะแสดงชื่อ column_name ทั้งหมด ในตารางนั้นออกมา

ทำให้มันไม่ dynamic ที่ผมต้องการคือ เรามีคำสั่ง SQL อยู่แล้ว แต่เราอยากได้ชื่อ column ในคำสั่ง SQL นี้ มีใครรู้บ้างไหม



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-03-28 11:31:13 By : Takeshima View : 9748 Reply : 7
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ไม่รู้จะใช่แบบนี้หรือเปล่าน่ะครับ

Code (VB.NET)
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%@ Page Language="VB" %>
<script runat="server">

Dim objConn As OleDbConnection
Dim objCmd As OleDbCommand

Sub Page_Load(sender As Object, e As EventArgs)
Dim strConnString As String
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";Jet OLEDB:Database Password=;"
objConn = New OleDbConnection(strConnString)
objConn.Open()

BindData()
End Sub

Sub BindData()
Dim strSQL As String
Dim i As Integer
strSQL = "SELECT * FROM customer"

Dim dtReader As OleDbDataReader
objCmd = New OleDbCommand(strSQL, objConn)
dtReader = objCmd.ExecuteReader()

Me.lblText.Text = "<b>Table customer have " & dtReader.FieldCount & " Fields</b>"

For i = 0 To dtReader.FieldCount - 1
Me.lblText.Text = Me.lblText.Text & "<br>" & dtReader.GetName(i)
Next

dtReader.Close()
dtReader = Nothing

End Sub

Sub Page_UnLoad()
objConn.Close()
objConn = Nothing
End Sub

</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - Microsoft Access</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label id="lblText" runat="server"></asp:Label>
</form>
</body>
</html>


Ref : ASP.NET Microsoft Access List Table Properties






Date : 2009-03-28 16:12:40 By : webmaster
 


 

No. 2



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



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


SELECT * FROM sys.Databases ดูรายชื่อฐานข้อมูลทั้ง Server

SELECT * FROM information_schema.Tables ดูรายชื่อ Table ในฐานข้อมูลที่เปิดอยู่

**** สามารถใช้ SQL string ได้เลย และใช้งานร่วมกับ Gridview ได้

Information_schema
Information_Schema.Check_Constraints
Information_Schema.Column_Domain_Usage
Information_Schema.Column_Privileges
Information_Schema.Columns
Information_Schema.Constraint_Column_Usage
Information_Schema.Constraint_Table_Usage
Information_Schema.Domain_Constraints
Information_Schema.Domains
Information_Schema.Key_Column_Usage
Information_Schema.Parameters
Information_Schema.Referential_Constraints
Information_Schema.Routine_Columns
Information_Schema.Routines
Information_Schema.Schemata
Information_Schema.Table_Constraints
Information_Schema.Table_Privileges
Information_Schema.Tables
Information_Schema.Views
Information_Schema.View_Column_Usage
Information_Schema.View_Table_Usage

ลองดูครับผมใช้อยู่ น่าจะครบนะครับดูได้ทั้งหมด ยังไงใช้ได้หรือไม่ได้ยังยัง ตอบมาสักนิดนะครับ
Date : 2009-03-28 22:04:02 By : mercury_rmutt
 

 

No. 3



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



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





thank
Date : 2010-05-18 17:41:26 By : tongtam
 


 

No. 4



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



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


cute-header-03
พอดีว่าความต้องการของคุณไม่ค่อยจะมีใครใช้นัก และพอดีว่า dynamic sql ของ mssql เองก็ยังมีข้อจำกัดเยอะ
พอดี develop team ของ microsoft แนะนำว่าถ้าจะเขียนอะไรที่ซับซ้อน
ให้เขียนด้วย CLR Store procedure แทน
ทุกอย่างมีข้อจำกัดค่ะ แต่ถ้าจะพอดีฝืนมันก็พอจะได้เหมือนกันขึ้นกับว่าจะฝืนเพื่ออะไร

ตัดคำว่าพอดีออกประโยคก็ยังสมบูรณ์และจะอ่านได้ลื่นไหลมากกว่า คิดอย่างนั้นไหมคะ

สรุปว่าคุณต้องการชื่อ column จาก Query ใดๆ ใช่หรือเปล่าคะ
ดิฉันคิดว่าถ้าเขียนด้วย SQL command คงจะยากหรือเป็นไปไม่ได้เลย
ถ้าท่านใดทำได้ก็กรุณาโพสเป็นวิทยาทาานด้วยนะคะ
แต่ถ้าเขียนด้วย CLR ไม่ต้องถึงกับ CLR Store Procedure หรอกค่ะ
CLR ของ VB.NET หรือ C# นี่แหละ มันจะง่ายกว่ามากโดยการ
GET column infomation จะจาก dataset หรือ datatable ก็ได้

เช่น

string uSQLCommandText = "SELECT ลูกแมว, ลูกไก่ ,ลูกนก .... From แม่ไก่ Left join แม่แมว .....

....> แล้วก็เอาไป build มาเป็น Datatable จากใน site มีตัวอย่าง code ของ database class เยอะค่ะ
ชอบของใครก็ copy ไปใช้แต่ท้ายสุดขอให้ได้ datatable หรือ dataset ออกมา

Code (C#)
Datatable infoDataTable = dbConnectionManager.GetDataTable ( uSQLCommandText  ) ;
List<String> allColName = new List<String>() ;
foreach ( DataColumn infoCol in infoDataTable.Columns )
{

   allColName.Add( infoCol.ColumnName ) ;
   // อยากได้ข้อมูลอะไรก้อ เก็บไปจาก property ของ infoCol ค่ะ 
   // เช่น Data type ,Data length , Nullable ,Increment etc.
   .....
   .....
}


Date : 2010-05-18 18:16:20 By : blurEyes
 


 

No. 5

Guest


thank
Date : 2010-06-30 16:59:28 By : 123
 


 

No. 6

Guest



thank
Date : 2010-06-30 17:01:15 By : 123
 


 

No. 7

Guest


Thank you for TC Admin
Date : 2013-07-20 10:54:51 By : Don
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : .Net ใครรู้คำสั่ง หาชื่อ Column ของคำสั่ง SQL บ้างครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่