小编Bri*_*ill的帖子

访问ADO记录集中字段值的最有效方法是什么?

我面前有一个VB6应用程序,它通过ADO访问Sql数据库.

检索记录集时,应用程序使用Bang(!)运算符访问记录集Eg RS!OrderId中的字段.

虽然我知道这种做法,但我从未真正使用过它(除非我一直懒惰),我也没有使用RS("OrderId"),因为我一直(或通常)使用完全合格的方法(例如RS. fields("OrderId").value.甚至使用.Item属性进一步扩展它.)

两者都返回完全相同的值,一个比另一个更短.

我坚持这种方法的原因是,在遥远的过去的某个时候,我相信我被告知完全限定字段的性能更高,因为代码必须翻译每次出现的!操作员到其完全合格的姐妹.然而 !运算符减少了打字和这样的开发时间.

我似乎也记得那个!ADO将在未来某个时候被弃用.但它仍然似乎在代码中我只是想知道哪种方法被认为是最佳实践,哪种方法比另一方更好.

vb6 ado

4
推荐指数
1
解决办法
1万
查看次数

sql错误没有被抛回调用者

我是这个论坛的新手,但请耐心等待.我有一个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)

c# raiserror try-catch sql-server-2008-r2

3
推荐指数
1
解决办法
1487
查看次数

标签 统计

ado ×1

c# ×1

raiserror ×1

sql-server-2008-r2 ×1

try-catch ×1

vb6 ×1