在ADO.NET中,

public SqlParameterCollection Parameters {get;}会得到一个SqlParameter属性。下面通过一个例子进行详细的认识吧。

//例如在一个事件处理方法中有
using (SqlCommand cmd=new SqlCommand())
{
    try{
        cmd.Connection=conn;
        conn.Open();
        cmd.CommandType=CommandType.StoredProcedure;
        cmd.CommandText="INSERT";
        SqlParameter[] prams={
            new SqlParameter("@id",SqlDbType.VarChar,8);
            new SqlParameter("@name",SqlDbType.VarChar,50);
            new SqlParameter("@money",SqlDbType.Float);
            new SqlParameter("@age",SqlDbType.VarChar,50);
        };
        prams[0].Value=this.TextBox1.Text;
        prams[1].Value=this.TextBox2.Text;
        prams[2].Value=this.TextBox2.Text;
        prams[3].Value=this.TextBox3.Text;
        //添加参数
        foreach(SqlParameter parameter in prams){
        cmd.Parameters.Add(parameter);
        }
        SQlParameter sqlParameter=cmd.Parameters.Add("@Return",SqlDbType.Int);
        sqlParameter=ParameterDirection.ReturnValue;
        cmd.ExecuteNonQuery();
    }
    catch(Exception e){
        throw new Exception(e.Message);
    }
    int i=Convert.ToInt16(cmd.Parameters["@return"].Value.toString());
    if(i==1){
        MessageBox.Show("添加成功");
    }else if(i==-1){
        MessageBox.Show("添加过程失败");
    }
}
}
    ```

----------
总结:
这里的parameter数组实现的SQL过程就相当于Java里面的PreparedStatement的占位符方式,省去了sql语句书写易错的麻烦。
具体的使用步骤就是:

 - 先声明一个Parameter数组,
 - 然后为相应位置填充具体的含义(应该和要进行操作的数据库中对应的字段保持一致),
 - 然后就在可以在声明的特定的字段中获取到执行结果返回的值了。如

i=Convert.ToInt16(cmd.Parameters[“@return”].Value.toString());

``

便是从
SQlParameter sqlParameter=cmd.Parameters.Add(“@Return”,SqlDbType.Int);

sqlParameter=ParameterDirection.ReturnValue;`声明过之后用到的

ADO.NET之Parameter属性的更多相关文章

  1. 求助 delphi ADO组件的 CursorLocation属性设置为 clUseServer 用法 [问题点数:20分]

    我有个管理系统,所有ADOQUERY组件的 CursorLocation属性设置为 clUseClient,一直运行正常,我尝试全部设置为clUseServer, 系统不运行了,请大家帮忙. 我的做法 ...

  2. Ado.net 类扩展属性

    .要扩展的类名字一样,2个类加(partial) 小例子: using System; using System.Collections.Generic; using System.Linq; usi ...

  3. delphi实现ado的高级功能

    ADO是Microsoft存取通用数据源的标准引擎.ADO通过封装OLE DB而能够存取不同类型的数据,让应用程序能很方便地通过统一的接口处理各种数据库.ADO由一组COM对象组成,每一个不同的原生A ...

  4. [No0000BC]ADO.NET中的几个主要对象

    ADO 指 ActiveX 数据对象(ActiveX Data Objects). 从一个 ASP 页面内部访问数据库的通常的方法是: 创建一个到数据库的 ADO 连接 打开数据库连接 创建 ADO ...

  5. ADO数据库操作方式

    微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件.它提供了编程语言和统一数据访问方式OLE DB的一个中间层.允许开发人员编写访问数据的代码而不用关心数 ...

  6. ADO数据库编程入门

    ADO 是目前在Windows环境中比较流行的客户端数据库编程技术. ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源.分布式的数据处理等 ...

  7. Delphi中ADO异步执行方式

    当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时,应用程序仍然能够先继续执行.而当ADO处理数据完毕 ...

  8. ADO.Net连接模式

    1.SqlConnection类 (1).通过构造函数创建一个SqlConnection对象,可以同时指定连接字符串 (2).通过SqlConnection对象的Open()方法打开数据库连接 (3) ...

  9. 浅谈数据库技术,磁盘冗余阵列,IP分配,ECC内存,ADO,DAO,JDBC

    整理-----数据库技术,磁盘冗余阵列,IP分配, ECC内存,ADO, DAO,JDBC 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发.发布和支持.My ...

随机推荐

  1. python2.7入门---变量类型

      这篇文章呢,主要是用来记录python中的变量类型学习内容的.接下来就来看一下变量类型,那么什么是变量呢.变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解 ...

  2. 触发事件trigger

    触发事件,在本例中,文档加载好之后,就触发dblclick双击事件,而不是通过去手动双击. <script src="http://how2j.cn/study/jquery.min. ...

  3. android高德地图网络路径实现自定义marker并点击弹出自定义窗口

    android中使用地图的地方随处可见,今天记录一下网络路径生成自定义marker,点击标记弹出自定义的窗口(在这里使用的是高德地图) 在这里我们使用Grilde去加载网络图片,因为这个简直太方便了! ...

  4. 用IO创建并格式化分区

    转载:http://raylinn.iteye.com/blog/570274 BOOL Result; // used to read bad DeviceIoControl calls DWORD ...

  5. sqlserver 按照特定值排序查询结果

    select * from t_ss_student order by case when xm like '林%' then 1 else 2 end asc; 姓林的会排在前面

  6. EM vs REM vs PX,为什么你不应该”只用px“”

    Actually this artical is from other person's opnion ,i just put it into chinese,and this means a ver ...

  7. 在vue中操作DOM--this.$nextTick()

    虽然 Vue.js 通常鼓励开发人员沿着"数据驱动"的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 V ...

  8. js原生获取元素的css属性

    习惯了用jQuery的css()的方法获取元素的css属性,突然不用jquery了,当要获得元素的css时候,我瞬间停顿了一下,咦?咋获取元素的css值?比如获取元素的width.是这样么?docum ...

  9. 3.1 One-dim Vector Initialtization

    vector<int> v(10, -1); //10个-1 v.size(); v.empty(); //is empty?

  10. 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程

    这几天圈子里到处都在传播着这样一个东西,微信公众平台提供了一种新的开放能力,开发者可以快速开发一个小程序,取名曰:微信公众平台-小程序 据说取代移动开发安卓和苹果,那这个东东究竟是干吗用的?但很多人觉 ...