|
|
|
.NET รบกวนช่วยดู Error นี้ทีครับ เพิ่งเขียน VB.net นะครับ |
|
|
|
|
|
|
|
รบกวนช่วยดู Error นี้ทีครับ เพิ่งเขียน VB.net นะครับ
โปรแกรมจะทำการดึงข้อมูลจาก AS400 มาลงไว้ใน Dataset และ ดึงข้อมูลจาก Exce; มาไว้ใน Database แต่ทำการ Relation กันไม่ได้
ไม่ต้องเป็นเพราะอะไรครับ
Code (VB.NET)
Imports System.Data
Imports System.Data.OleDb
Imports System.Xml
Imports CrystalDecisions.CrystalReports.Engine
Public Class FrmMain
Private Sub FrmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim MyConnection As New OleDbConnection
MyConnection.ConnectionString = ("Provider=IBMDA400.DataSource.1;" & _
"Data Source=10.1.1.101;User ID=ABC;Password=ABC;" & _
"SSL=DEFAULT")
'Open the connection
MyConnection.Open()
Dim objConn As New OleDbConnection
Dim dtAdapter As OleDbDataAdapter
Dim objCmd As OleDbCommand
Dim strSQL As String
Dim dt1 As DataTable
Dim ds As New DataSet
fr_inv.Text = "12001915"
to_inv.Text = "12001915"
strSQL = "Select SICUST,SIINVN,SIINVD,SIORD,SITERM,SIQTY,EXRTE,ILPROD,IHDPFX,IHDOCN " & _
"from BPCSF524.sih t1 " & _
"left outer join BPCSF524.sil t2 " & _
"on t1.IHDPFX = t2.ILDPFX " & _
"and t1.IHDOCN = t2.ILDOCN " & _
"left outer join BPCSF524.EXRTE1 t3 " & _
"on substring(SIINVD,1,2) = t3.EXYEAR " & _
"and substring(SIINVD,3,2) = t3.EXMON " & _
"WHERE t1.IHDOCN >= '" + fr_inv.Text + "' " & _
"and t1.IHDOCN <= '" + to_inv.Text + "' " & _
"and substring(t2.ILPROD,1,2) <> 'FM' " & _
"order by IHDPFX,IHDOCN,ILPROD"
objCmd = New OleDbCommand(strSQL, MyConnection)
dtAdapter = New OleDbDataAdapter(strSQL, MyConnection)
dtAdapter.Fill(ds, "Mytable")
dt1 = ds.Tables(0)
DataGridView1.DataSource = ds.Tables(0)
'dtAdapter = Nothing
MyConnection.Close()
'Excel
Dim strConnString As String
Dim dsex1 As New DataSet
Dim dt2 As New DataTable
Dim dc As New DataColumn
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\DataUser\Data_laos.xls;" & _
"Extended Properties=Excel 8.0;"
objConn.ConnectionString = strConnString
objConn.Open()
strSQL = "Select CUSID,CUSADDR,CUSTEL,CUSEMP FROM [Name$] "
objCmd = New OleDbCommand(strSQL, objConn)
dtAdapter = New OleDbDataAdapter(strSQL, objConn)
' fill dataset
dtAdapter.Fill(ds, "MyName")
dt2 = ds.Tables(0)
dtAdapter = Nothing
objConn.Close()
ds.Merge(dt2)
DataGridView2.DataSource = ds.Tables(0)
Dim relation As DataRelation
Dim table1Column As DataColumn
Dim table2Column As DataColumn
'retrieve column
table1Column = ds.Tables("Mytable").Columns("SICUST")
table2Column = ds.Tables("MyName").Columns("CUSID")
'relating tables
' Error ตรงนี้ครับ
relation = New DataRelation("relation", table1Column, table2Column)
'assign relation to dataset
ds.Relations.Add(relation)
TxtYr.Text = Year(Today) - 543
Cmb_Show.SelectedIndex = Month(Today) - 1
fr_inv.Select()
End Sub
รูป Error ครับ
ตามที่ผมคิดไว้ว่า Error ถ้าจะเกิดจาก Datatype ของ SICUT จะเป็น Dec แต่ DataType ของ CUSID จะเป็น Double ครับ
รบกวนช่วยเหลือผมทีนะครับ ขอบคุณครับ
Tag : .NET, VB.NET
|
|
|
|
|
|
Date :
2012-11-12 14:24:45 |
By :
sewl7820 |
View :
1208 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมครับ
คือต้องการออก Report โดยใช้ Crystal Report
ข้อมูลบางส่วน จะมาจาก AS 400 และ ข้อมูลบางส่วนจะมาจาก Excel ครับ
ต้องเอาข้อมูลทั้ง 2 มา Join กัน เพิ่อเอาไปออก Crystal report ครับ
|
|
|
|
|
Date :
2012-11-12 14:35:06 |
By :
sewl7820 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จาก Error มันน่าจะไม่ matching กันครับ หรือไม่ก็ใช้พวก Loop แล้วทำเป็น DataTable แล้วค่อยโยนให้กับ Crystal Report ก็ได้ครับ
|
|
|
|
|
Date :
2012-11-13 09:29:23 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีตัวอย่างหรือเปล่า กรุณาช่วยทีน่ะครับ ขอบคุณมากครับ
สอบถามอีกเรื่องน่ะครับ
มันสามารถทำเป็น .Clone แล้วเปลี่ยน Datatype ได้หรือเปล่าครับ
|
|
|
|
|
Date :
2012-11-13 21:04:14 |
By :
sewl7820 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่างลองหาได้จากบทความหรือกระทู้ครับ
|
|
|
|
|
Date :
2012-11-14 08:50:59 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|