【问题标题】:Method to execute stored procedure and return datatable in C#C#中执行存储过程并返回数据表的方法
【发布时间】:2012-01-21 03:31:26
【问题描述】:

我有一些像

这样的 VB 代码
  Dim data As DataTable = DataAccess.ExecuteDataSet("AuthenticateWebServiceClient" _
                                                , New SqlParameter("@ClientID", ClientId) _
                                                , New SqlParameter("@Password", Password) _
                                                , New SqlParameter("@WebServiceID", WebServiceID)).Tables(0)

还有一个具有此功能的 DataAccess 类

 Public Shared Function ExecuteDataSet(ByVal storedProcName As String, ByVal ParamArray parameters As SqlParameter()) As DataSet
        'Try
        Dim command As SqlCommand = PrepareSPCommand(storedProcName, parameters)
        Dim adapter As New SqlDataAdapter(command)
        Dim ds As New DataSet
        adapter.Fill(ds)
        Return ds
        'Catch ex As Exception
        'ex.ToString()
        'End Try
    End Function

当我尝试通过转换器将其转换为 C# 时,我得到了

private DataSet ExecuteDataSet(string storedProcName, SqlParameter[] parameters)
{
   SqlCommand command = PrepareSPCommand(storedProcName, parameters);
   SqlDataAdapter adapter = new SqlDataAdapter(command);
   DataSet ds = new DataSet();
   adapter.Fill(ds);
   return ds;
}

除了 PrepareSPCommand 不被 VS 识别。有谁知道将此函数转换为 C# 的正确方法。

【问题讨论】:

标签: c# vb.net stored-procedures datatable


【解决方案1】:

这里,

public SqlCommand PrepareSPCommand(string storedProcName, SqlParameter[] parameters, string connectionString){
    SqlCommand command = new SqlCommand(storedProcName,new SqlConnection(connectionString));
    command.CommandType=CommandType.StoredProcedure;
    command.Parameters.AddRange(parameters);

    return command;
}

【讨论】:

    【解决方案2】:

    当然。与 VB.net 相比,C# 没有什么神秘之处

    DataTable data = DataAccess.ExecuteDataSet("AuthenticateWebServiceClient", New SqlParameter("..."), etc).Tables[0];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多