我面前有一个VB6应用程序,它通过ADO访问Sql数据库.
检索记录集时,应用程序使用Bang(!)运算符访问记录集Eg RS!OrderId中的字段.
虽然我知道这种做法,但我从未真正使用过它(除非我一直懒惰),我也没有使用RS("OrderId"),因为我一直(或通常)使用完全合格的方法(例如RS. fields("OrderId").value.甚至使用.Item属性进一步扩展它.)
两者都返回完全相同的值,一个比另一个更短.
我坚持这种方法的原因是,在遥远的过去的某个时候,我相信我被告知完全限定字段的性能更高,因为代码必须翻译每次出现的!操作员到其完全合格的姐妹.然而 !运算符减少了打字和这样的开发时间.
我似乎也记得那个!ADO将在未来某个时候被弃用.但它仍然似乎在代码中我只是想知道哪种方法被认为是最佳实践,哪种方法比另一方更好.
我是这个论坛的新手,但请耐心等待.我有一个ac #Windows表单,上面有两个复选框.一个叫chkThrowError,另一个叫chkDivideError,都是未选中的.这些控件纯粹用于控制存储过程的执行.我有一个带有以下代码的命令Button:
private void cmdError_Click(object sender, EventArgs e)
{
int ThrowError = 0;
int DividByZero = 0;
if (chkThrowError.Checked)
{
ThrowError = 1;
}
if (chkDivideError.Checked)
{
DividByZero = 1;
}
try
{
clsBBFinances.TestError(ThrowError,DividByZero);
MessageBox.Show("Everything is Hunkey Dorey");
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
clsBBFinances是我的Business Object,TestError例程如下:
public static void TestError(int ThrowError, int ThrowDivideError)
{
System.Data.SqlClient.SqlDataReader objRs = null;
string strsql = "";
bool Success = true;
string ErrMsg = "";
int intCount = 0;
try
{
strsql = …Run Code Online (Sandbox Code Playgroud)