Public Function QueryDataTable(ByVal strSQL As String) As Data.DataTable
Dim dtAdapter As MySqlDataAdapter
Dim dt As New Data.DataTable
With objConn
.Open()
End With
Try
dtAdapter = New MySqlDataAdapter(strSQL, objConn)
dtAdapter.Fill(dt)
Return dt
Catch ex As Exception
Return Nothing
Finally
objConn.Close()
End Try
End Function
SELECT measure_id AS mea, strc ,measure_code ,
(SELECT measure_detail FROM tbl_measure INNER JOIN tbl_link_measure ON measure_id=link_measure WHERE mea=measure_id AND link_mea_dep='12') AS mea_detail
FROM tbl_measure WHERE measure_dep=0 ORDER BY measure_code
เป็นที่ strc_code type เป็น Char
ส่วน strc_name type เป็น Text
พอมา CONCAT กันเหมือนมันจะไม่ยอม
แต่แปลกตรงที่ query ใน phpMyAdmin หรือ HeidiSQL สามารถ Concat กันได้ระหว่าง type Char กับ Text
แต่ถ้าผ่าน mysqldataadaper ใน .net ไม่ออก แถม SQL ไม่ error ด้วย
เลยลองปรับ strc_name เป็น Varchar คราวนี้ ใน .net query ออกแล้วครับ
ส่วน Query ที่2 ติดปัญหาเช่นเดียวกันครับ
measure_detail นั้น data type เป็น Text
ถ้าใช้ เป็น
SELECT cast(measure_detail as char(1000)) FROM tbl_measure INNER JOIN tbl_link_measure ON measure_id=link_measure WHERE mea=measure_id AND link_m.......................
คือมีการ Convert data type เป็น Char ก่อน ผลที่ได้ก็ ออกตามปกติครับ
หรือ แก้ data type เป็น varchar เลย ก็ได้เหมือนกัน