Ejecución de una consulta mediante el comando SELECT en SAP
El proveedor de datos de .NET Framework para mySAP Business Suite expone el sistema SAP como origen de datos ADO.NET. Con el proveedor de datos de .NET Framework para mySAP Business Suite, puede consultar artefactos de SAP mediante la ejecución de una instrucción SELECT.
Cómo realizar una consulta mediante el comando SELECT
Para consultar artefactos de SAP mediante el proveedor de datos para SAP, realice los pasos siguientes:
Para realizar una consulta
Incluya una referencia (y una instrucción using en el código) a Microsoft.Data.SAPClient.
Cree un objeto SAPConnection mediante un proveedor de datos para SAP cadena de conexión. Para obtener más información sobre la cadena de conexión, vea Leer sobre los tipos de proveedor de datos para la cadena de conexión de SAP.
Abra una conexión al sistema SAP invocando Open en SAPConnection.
Cree un objeto SAPCommand a partir de SAPConnection.
Especifique la instrucción SELECT en la propiedad CommandText de SAPCommand. Si es necesario, puede especificar parámetros mediante objetos SAPParameter . Para obtener más información sobre cómo consultar artefactos de SAP mediante una instrucción SELECT, consulte Sintaxis de una instrucción SELECT en SAP. Para obtener ejemplos de cómo especificar un BAPI o RFC, vea Ejemplos para la instrucción SELECT.
Ejecute el comando para realizar la consulta y obtener los resultados en un objeto SAPDataReader.
Lea los resultados de SAPDataReader.
Cuando haya terminado de usarlos, cierre (o elimine) SAPConnection y SAPDataReader.
El proveedor de datos para SAP también expone una clase SAPClientFactory , que puede usar para crear objetos SAPConnection, SAPCommand y SAPConnection . Para obtener más información sobre las clases de ADO.NET extendidas por el proveedor de datos para SAP, consulte Extensión de interfaces de ADO.NET con el adaptador de SAP.
Ejemplo
En el ejemplo siguiente se escriben los resultados de una selección en una instrucción de combinación interna parametrizada en la consola.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Data.SAPClient;
namespace SapAdoSelect
{
class Program
{
static void Main(string[] args)
{
/// <summary>
/// select top 1 * from sflight inner join spfli on sflight.connid = spfli.connid where spfli.connid = @connid
/// </summary>
string connstr = "TYPE=A; ASHOST=YourSapHost; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;";
using (SAPConnection conn = new SAPConnection(connstr))
{
conn.Open();
using (SAPCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select top 1 * from sflight inner join spfli on sflight.connid = spfli.connid where spfli.connid = @connid";
cmd.Parameters.Add(new SAPParameter("@connid", 17));
using (SAPDataReader dr = cmd.ExecuteReader())
{
do
{
int rows = 0;
while (dr.Read())
{
rows++;
StringBuilder b = new StringBuilder();
for (int i = 0; i < dr.FieldCount; i++)
{
b.Append(dr[i].ToString()+" ");
}
Console.WriteLine("row {0}: {1} ", rows, b.ToString());
}
Console.WriteLine("Number of rows:{0}", rows);
} while (dr.NextResult());
}
}
}
}
}
}
Consulte también
Uso del proveedor de datos de .NET Framework para mySAP Business Suite
Muestras