VB.NET连接SAP实际应用方法介绍

开发 后端
VB.NET连接SAP的相关方法将会在这篇文章中进行详细的介绍。希望初学者们能够通过我们介绍的内容详细掌握其中的应用技巧。

大家可能对于VB.NET的开发能力非常感兴趣。因为它的应用能够帮助我们带来一个良好的功能强大的开发平台。VB.NET连接SAP中只是把读取出来的内容存放在数据库中,然后利用GridView显示出来。 当然可以直接存入DataTable或DataSet中直接显示出来。#t#

 

以下见代码示例:

 

 

  1. Imports System  
  2. Imports System.Collections.Generic  
  3. Imports System.ComponentModel  
  4. Imports System.Data  
  5. Imports System.Drawing  
  6. Imports System.Text  
  7. Imports System.Windows.Forms  
  8. Imports System.Data.OleDb  
  9. Imports System.Xml  
  10. Public Class SAPConn  
  11. Public oFunction As Object ' SAP Functions  
  12. Public oConnection As Object ' SAP oConnection  
  13. Dim cmd As OleDbCommand  
  14. Dim SqlAd As OleDbDataAdapter  
  15. Dim sql As String  
  16. '测试连接的代码  
  17. Private Sub BtnConnn_Click(ByVal sender As 
    System.Object, ByVal e As System.EventArgs) 
    Handles BtnConnn.Click  
  18. Try  
  19. oFunction = CreateObject("SAP.Functions.unicode")  
  20. oConnection = oFunction.Connection  
  21. oConnection.User = "CRMDEV69" 
  22. oConnection.Password = "654321" 
  23. oConnection.System = "CD2" 
  24. oConnection.ApplicationServer = "172.18.95.173" 
  25. oConnection.SystemNumber = 7 
  26. oConnection.Client = "164" 
  27. oConnection.Language = "ZH" 
  28. If oConnection.Logon(0, True) = True Then  
  29. MsgBox("连接成功!")  
  30. Else  
  31. MsgBox("连接失败!")  
  32. End If  
  33. Catch ex As Exception  
  34. MsgBox(ex.ToString(), MsgBoxStyle.Information, "提示")  
  35. Return  
  36. End Try  
  37. End Sub  
  38. Private Sub Button1_Click(ByVal sender As 
    System.Object, ByVal e As System.EventArgs) 
    Handles Button1.Click  
  39. Dim GetCustomers As Object  
  40. Dim Customers As Object  
  41. Dim i As Integer  
  42. Dim sqlstr As String = "" 
  43. ' 通过RFC接口远程运行SAP内部函数ZCSMS_GET_HRINFO  
  44. ' 赋要调用的SAP内建函数名  
  45. Try  
  46. GetCustomers = oFunction.Add("ZCSMS_GET_HRINFO")  
  47. '设置输入参数并赋值  
  48. GetCustomers.Exports("BEGDAFROM") = ""  
  49. GetCustomers.Exports("BEGDATO") = ""  
  50. GetCustomers.Exports("MILL") = "7960"  
  51. GetCustomers.Exports("NUMBERFROM") = "0061500001"  
  52. GetCustomers.Exports("NUMBERTO") = "0061500200"  
  53. Customers = GetCustomers.Tables("THR")  
  54. If GetCustomers.Call Then  
  55. '循环插入到数据库表中  
  56. For i = 1 To Customers.RowCount  
  57. sqlstr = "Insert into ghy_employee(MILL, 
    PERNR, NAME1, STEXT) values ('"
     & Customers
    (i, "MILL") & "','" & Customers(i, "PERNR") 
    & "','" & Customers(i, "NAME1") & "','" 
    & Customers(i, "STEXT") & "' )"  
  58. Config.ExecAccess(sqlstr)  
  59. Next i  
  60. MsgBox("获取数据成功")  
  61. Else  
  62. MsgBox(" 搜索出错! 出错信息: " + 
    GetCustomers.exception)  
  63. End If  
  64. Catch ex As Exception  
  65. MsgBox(ex.ToString)  
  66. Return  
  67. End Try  
  68. End Sub  
  69. '通过GridView显示数据  
  70. Private Sub Button2_Click(ByVal sender As System.
    Object, ByVal e As System.EventArgs) Handles 
    Button2.Click  
  71. sql = "select * from ghy_employee " 
  72. SqlAd = New OleDbDataAdapter(sql, oConn)  
  73. DS.Clear()  
  74. If DS.Tables.Contains("ghy_employee") Then  
  75. DS.Tables.Remove("ghy_employee")  
  76. End If  
  77. SqlAd.Fill(DS, "ghy_employee")  
  78. DvInvoice.DataSource = DS.Tables("ghy_employee").
    DefaultView  
  79. DvInvoice.Refresh()  
  80. DvInvoice.ClearSelection()  
  81. DvInvoice.Columns("MILL").HeaderText = "工厂" 
  82. DvInvoice.Columns("PERNR").HeaderText = "员工编号" 
  83. DvInvoice.Columns("NAME1").HeaderText = "员工姓名" 
  84. DvInvoice.Columns("STEXT").HeaderText = "员工部门" 
  85. End Sub  
  86. End Class 

 

 

以上两种写法都是利用创建组件OCX的方式进行, 通过调用类的方法进行也可以实现。 缺点是中文无法正常显示。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-07 15:25:11

VB.NET数组

2010-01-07 10:46:27

VB.NET Sock

2010-01-07 15:42:57

VB.NET WhilEnd While循环

2010-01-15 10:56:50

VB.NET继承实现多

2010-01-14 18:22:05

VB.NET硬盘速度测

2009-11-10 12:42:47

VB.NET Prin

2010-01-22 10:41:33

VB.NET声明结构

2010-01-18 17:09:52

VB.NET创建虚拟目

2010-01-15 19:17:23

2010-01-21 17:58:40

VB.NET List

2010-01-15 18:12:28

VB.NET超链接

2010-01-07 16:08:45

VB.NET子过程和函

2010-01-18 17:37:32

VB.NET文本框处理

2010-01-14 10:35:34

VB.NET指针

2010-01-08 13:35:35

VB.NET写Log方

2009-10-28 09:55:29

VB.NET MyCl

2010-01-07 16:51:56

VB.NET窗体钩子

2010-01-19 18:37:24

VB.NET内存占用

2010-01-20 17:47:54

VB.NET注释

2010-01-13 17:16:37

VB.NET冒号
点赞
收藏

51CTO技术栈公众号