我一直在为Delphi开发很长一段时间,并且已经习惯了TADOStoredProc来处理存储过程。 Embarcadero的Delphi IDE做了很多很好的事情,比如自动获取所有参数,自动为StoredProc对象生成属性以访问返回类型。所有这一切都发生在设计时。
我最近切换到C#和Visual Studio 2013,但我没有看到任何这些不错的功能。我必须在代码中手动添加所有参数并访问返回数据,我必须使用DataRow对象。是否有一个很好的功能,如Visual Studio(MS或第三方)中的TADOStoredProc?
我目前正在这样做
SqlConnection sc = new SqlConnection(connectionString);
SqlCommand com = new SqlCommand("StorePrc", sc);
com.CommandType = System.Data.CommandType.StoredProcedure;
com.Parameters.AddWithValue("@id", 1);
using (SqlDataReader sdr = com.ExecuteReader())
{
...
}
提前致谢
答案 0 :(得分:0)
在花了很多时间之后,我得出结论认为没有很好的方法。您可以对其进行设置,以便使用相同类型的对象获得相同的结果,但这种方式非常凌乱且难以维护。以下是我的建议。
在此步骤结束时,您应该有一个数据集,其中包含来自select存储过程的返回参数和一个带有Fill和GetData方法的表适配器
在属性浏览器窗口中为对象设置以下属性
网格应自动生成数据集中的列。 (Franlky自动生成的列完全没用,我建议关掉这个功能并自己动手做)
刷新您需要执行的数据
tableAdapter.Fill(dataset,... select stored proc params ...);
要保存网格中需要执行的更改
tableAdapterManager.UpdateAll(数据集);
这与我以前在Delphi中的方式完全不同。在某些方面它更好,在某些方面它更糟糕;它只是你要处理的事情。我希望将来可以帮助某人(可能是我)