![](/img/trans.png)
[英]Error attaching a file using the DI API in SAP Business One 9
[英]run time error in SAP Business One Client
我的代码有运行时错误错误:
MatrixFill.exe 中发生“System.Runtime.InteropServices.COMException”类型的异常,但未在用户代码中处理附加信息:1)。 [Microsoft] [SQL Server Native Client 11.0] [SQL Server] 'OCRD' 附近的语法不正确。 我想通过 c # 连接到 sap 并填写矩阵 如何更改代码???
我的代码:
using System;
using System.Collections.Generic;
using System.Xml;
using SAPbouiCOM.Framework;
namespace MatrixFill
{
[FormAttribute("MatrixFill.Form1", "Form1.b1f")]
class Form1 : UserFormBase
{
public Form1()
{
}
/// <summary>
/// Initialize components. Called by framework after form created.
/// </summary>
public override void OnInitializeComponent()
{
this.Matrix0 = ((SAPbouiCOM.Matrix)(this.GetItem("Item_0").Specific));
this.Button0 = ((SAPbouiCOM.Button)(this.GetItem("btnFill").Specific));
this.Button0.ClickBefore += new
SAPbouiCOM._IButtonEvents_ClickBeforeEventHandler(this.Button0_ClickBefore);
this.OnCustomInitialize();
}
/// <summary>
/// Initialize form event. Called by framework before form creation.
/// </summary>
public override void OnInitializeFormEvents()
{
}
private SAPbouiCOM.Matrix Matrix0;
private void OnCustomInitialize()
{
}
private SAPbouiCOM.Button Button0;
private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
{
BubbleEvent = true;
SAPbobsCOM.Company oCompany = (SAPbobsCOM.Company)Application.SBO_Application.Company.GetDICompany();
SAPbobsCOM.Recordset oRset = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
string Query = "select CardCode,CardName,E_Mail sFrom OCRD";
oRset.DoQuery(Query);
if (oRset.RecordCount > 0)
{
for (int i = 0; i < oRset.RecordCount; i++)
{
Matrix0.AddRow();
((SAPbouiCOM.EditText)Matrix0.Columns.Item("colCode").Cells.Item(i + 1).Specific).Value = oRset.Fields.Item("CardCode").Value.ToString();
((SAPbouiCOM.EditText)Matrix0.Columns.Item("colName").Cells.Item(i + 1).Specific).Value = oRset.Fields.Item("CardName").Value.ToString();
((SAPbouiCOM.EditText)Matrix0.Columns.Item("colEmail").Cells.Item(i + 1).Specific).Value = oRset.Fields.Item("E_Mail").Value.ToString();
oRset.MoveNext();
}
}
}
}
}
注意:我的表单有一个三列矩阵矩阵是在 Visual Studio 2015 中设计的
这是因为您在 From 底部附近有 s。
改变这个
select CardCode,CardName,E_Mail sFrom OCRD
至
select CardCode,CardName,E_Mail From OCRD
干杯
乔恩
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.