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 > Crystal Report เชื่อมต่อกับ MySQL มันขึ้น Popup ให้ใส่ password



 

Crystal Report เชื่อมต่อกับ MySQL มันขึ้น Popup ให้ใส่ password

 



Topic : 123302



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



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




พอดีใช้ vb.net (Windows App) เขียนโปรแกรม ดึงข้อมูลจาก Database Mysql มาทำ report โดยใช้ Crystal report แต่พอเวลาที่จะแสดง report มันขึ้นให้ใส่ password ตลอดเลย และอีกอย่าง พอเราใส่ password เข้าไปแล้ว มันกลับบอกว่า ไม่ถูกต้อง (ยืนยันว่าใส่ถูก)
ไม่ทราบว่ามีใครเคยดึง Report โดยใช้ Database Mysql หรือเปล่าช่วยแนะนำหน่อยครับ ขอบคุณครับ

Code
Dim rptTLog As New CrystalDecisions.Shared.TableLogOnInfo rptTLog.ConnectionInfo.ServerName = SVName rptTLog.ConnectionInfo.UserID = UID rptTLog.ConnectionInfo.Password = PWD rptTLog.ConnectionInfo.DatabaseName = DBName For i As Short = 0 To Report.Database.Tables.Count() - 1 Report.Database.Tables(i).ApplyLogOnInfo(rptTLog) Next


*** โดย Code ตัวนี้ ถ้าเป็น Database SQL Server ใช้ได้ปกติครับ


Popup Security



Tag : .NET, MySQL, Win (Windows App), VB.NET, VS 2008 (.NET 3.x), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-06-13 10:49:11 By : thep View : 2761 Reply : 3
 

 

No. 1



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



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


การดึง Report โดยใช้ Crytalreport โดยใช้ Mysql นั้นให้มองว่า มันก็คือ ฐานข้อมูล ให้เราใช้ dataset เป็นตัวกลาง ลองทำตามผม ไปทีละขั้น และประยุกต์ในโปรเจ็คของคุณนะครับ


01. ให้ทำการ Add New Data Set ดังรูป

01


02. Double Click ที่ DataSet และ คลิ๊กขวา Add DataTable ดังรูป

02


03. ใส่ชื่อ Field ที่ต้องการ เช่น ผมจะทำรายงานแสดงข้อมูลสินค้าก็มี ข้อมูล เกี่ยวกับสินค้า โดย Field ข้อมูลพวกนี้ต้องเป็นข้อมูลที่ตรงกับ Field ใน Table ด้วยนะครับ ดังรูป

03


04. Add Crytal Reports

04


05. เลือกแบบ Wizard (หัวข้อแรก) จะมาหน้าในรูป ให้เลือก ADO.NET DataSets และทำตามรูปดังภาพ

05


06. เลือก Field ที่ต้องการอีกรอบ หรือ เอาหมด ดังรูป

06

07. Add Form นำ CrystalReportViewer มายัดลง Form จะได้ ดังรูป

07


08. เนื่องจาก Form2 ผมเป็น Form แสดงรายงาน และ Form1 เป็น Form แสดงข้อมูลสินค้าผ่าน DataGridview และ มี Button เพื่อทำการออกรายงานมายัง Form2 (ส่วนคนที่ยังไม่มี Form1 ก็ให้สร้าง Form ใหม่ชื่ออะไรก็ได้ และ ยัด DataGridview และ Button อย่างละหนึ่ง)

09. Double Click ที่ Button เอา Code นี่ไปใส่

Code (VB.NET)
     Dim dsEx As New DataSet1()
            If dsEx.DataTableOrder.Rows.Count > 0 Then
                dsEx.DataTableOrder.Rows.Clear()
            End If

            For i As Integer = 0 To DataGridView1.Rows.Count - 1
                Dim dr As DataGridViewRow = Nothing
                dr = DataGridView1.Rows(i)
                dsEx.DataTableOrder.Rows.Add(dr.Cells(0).Value, dr.Cells(1).Value, dr.Cells(2).Value, dr.Cells(3).Value, dr.Cells(4).Value, dr.Cells(5).Value, dr.Cells(6).Value)
            Next
            'DataGridViewRow dr = default(DataGridViewRow);
            'dsEx.DataTable1.Rows.Add("1","2","3","4");

            Dim crv As New CrystalReportOrder()
            crv.SetDataSource(dsEx)
            'crv.SetParameterValue("date", String.Format("{0:d MMMM yyyy}", DateTime.Now));

            Dim frm As New FormReport()
            frm.CrystalReportViewer1.ReportSource = crv
            frm.ShowDialog()


อธิบาย Code ที่ Comment
Code (VB.NET)
  'เป็นการส่งค่าแค่ Column เดียวผมเอาไว้ใช้ในกรณีที่ ผมต้องการประยุกต์ เช่น ทำบัตรสมาชิก เป็นต้น
  'DataGridViewRow dr = default(DataGridViewRow);
   'dsEx.DataTable1.Rows.Add("1","2","3","4");

  'เป็นการส่งค่า Parameter สังเกตว่า ใน หน้า Design CrytalReport จะมีให้ใส่ Parameter เราสามารถเขียน Code เพื่อส่ง Parameter ไปได้
   'crv.SetParameterValue("date", String.Format("{0:d MMMM yyyy}", DateTime.Now));




ปล. ผิดพลาดประการใด ขออภัยมา ณ ที่นี้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-13 14:11:57 By : bigsuntat
 


 

No. 2



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

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

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

ถ้าอยากหมดปัญหานี้จะต้องเปลี่ยนไปใช้พวก DataSet/DataTable แทนครับ หรือไม่ใช้ตัวนี้ก็ได้ครับ ผมใช้อยู่

Code (VB.NET)
Private strSheetNo As String = String.Empty
Private rpt As ReportDocument

Protected Sub Page_Load(sender As Object, e As EventArgs)
	rpt = New ReportDocument()
	rpt.Load(Server.MapPath("../report/myReport.rpt"))
	Dim crtableLogoninfo As New TableLogOnInfo()
	Dim crConnectionInfo As New ConnectionInfo()
	Dim CrTables As Tables

	Dim db = UtilityClass.GetDatabaseConnection()
	crConnectionInfo.ServerName = "localhost"
	crConnectionInfo.DatabaseName = "mydatabase"
	crConnectionInfo.UserID = "sa"
	crConnectionInfo.Password = ""
	CrTables = rpt.Database.Tables

	For Each CrTable As CrystalDecisions.CrystalReports.Engine.Table In CrTables
		crtableLogoninfo = CrTable.LogOnInfo
		crtableLogoninfo.ConnectionInfo = crConnectionInfo
		CrTable.ApplyLogOnInfo(crtableLogoninfo)
	Next
	rpt.RecordSelectionFormula = "{tbReport.CusNo} in  [" + strCustomerNo + "] "
	Me.rptCrystal.ReportSource = rpt
End Sub

Protected Overrides Sub OnUnload(e As EventArgs)
	MyBase.OnUnload(e)

	Try
		If rpt IsNot Nothing Then
			rpt.Close()
			rpt.Dispose()
			GC.Collect()

		End If
	Catch ex As Exception
		MessageLogClass.WriteLog(ex)
	End Try
End Sub

Protected Sub rptCrystal_Unload(sender As Object, e As EventArgs)
	Try
		If rpt IsNot Nothing Then
			rpt.Close()
			rpt.Dispose()
			GC.Collect()

		End If
	Catch ex As Exception
		MessageLogClass.WriteLog(ex)
	End Try
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-13 17:00:50 By : mr.win
 

 

No. 3

Guest


ขอบคุณคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-14 16:27:27 By : thep
 

   

ค้นหาข้อมูล


   
 

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