当数据库中有一个存储过程,而你又不知道参数名,却又要调用其执行的时候,就可以用到这个语法,代码如下:
SqlConnection con = new SqlConnection(@"server=.\ljzforever;database=test;uid=sa;pwd=ljz");
SqlCommand cmd = new SqlCommand("getEmp");
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
SqlCommandBuilder.DeriveParameters(cmd);
cmd.Parameters[1].Value = "1";
cmd.Parameters[2].Value = "a";
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dap.Fill(dt);
con.Close();
gvData.DataSource = dt;
其中表结构为:
表名:emp
表字段:id int, name varchar(20)
getEmp为我的存储过程名
gvData为一个datagridview
获取参数的语法只有一句话:SqlCommandBuilder.DeriveParameters(cmd);
是个静态方法,他要求打开数据库,并将获取的参数填入cmd的数据对象集合中
注意:
1.他要求打开数据库
2.获取参数后,集合的第一个参数的类型为返回值类型
3.获取参数的顺序为存储过程定义的顺序,所以要小心
4.如果有出参,记得起码要赋一个dbnull值
分享到:
相关推荐
Ado.net方法是使用SqlCommandBuilder.DeriveParameters(mysqlcommand),这可以自动获取存储过程的参数信息。 第三部分:得到数据库所有表 使用SQL语句select * from dbo.sysobjects where OBJECTPROPERTY(id, N'...
ADO.NET存储过程参数生成SQL版源代码是一种用于简化数据库交互的工具,特别是在处理大量数据或执行复杂业务逻辑时,存储过程能提供更好的性能和安全性。本文将深入探讨ADO.NET、C#以及存储过程的相关知识,并结合...
10. **连接池**:ADO.NET自动管理数据库连接的池,提高了应用程序的性能。了解如何配置和使用连接池是重要的实践知识。 通过研究这些源代码,开发者不仅可以加深对ADO.NET特性和API的理解,还能学习到如何在实际...
DataSet和DataReader是ADO.NET中用于存储和检索数据的两个主要对象。DataSet提供了一个内存中的关系数据表示,它包含多个表、关系和约束,支持数据操作。相比之下,DataReader是一个只进、只读的数据流,它能快速从...
这个压缩包文件"ado.net程序设计"显然是一个学习资源,旨在帮助开发者深入理解如何在.NET环境中利用ADO.NET进行数据库编程。 ADO.NET的核心组件主要包括以下几部分: 1. **Connection对象**:这是与数据库建立连接...
7. **存储过程(Stored Procedures)**:ADO.NET支持调用数据库中的存储过程,这可以提高性能并封装复杂的业务逻辑。 8. **元数据(Metadata)**:通过使用Schema信息,我们可以获取关于数据库结构的详细信息,如表...
本书介绍了如何用ADO.NET 2.0对独立应用、企业级应用和Web应用程序中的数据进行访问、排序和操作。作者针对如何利用Visual Studio 2005中的新工具和向导,编写、测试并调试数据库应用程序代码,用丰富的示例代码、...
ADO.NET是微软.NET框架中用于访问数据库的核心组件,它提供了一组全面的接口和类库,使得开发人员能够高效地处理数据。这个技术基于面向对象的编程理念,为数据库操作提供了强大而灵活的支持。 ADO.NET的主要组成...
1. **资源管理**:ADO.NET 中的对象实现了 `IDisposable` 接口,因此在使用完毕后应该释放资源。通常推荐使用 `using` 语句来确保资源被正确释放。 ```csharp using (SqlConnection connection = new ...
10. **连接池(Connection Pooling)**:ADO.NET自动管理连接池,提高性能。无需手动创建和销毁连接,而是复用已存在的连接。 11. **异步操作(Asynchronous Operations)**:使用`ExecuteNonQueryAsync()`、`...
- **参数**:用于存储存储过程中使用的参数值。 13. **SqlTransaction、OleDbTransaction、OracleTransaction、ODBCTransaction** - **事务**:用于封装一组数据库操作以实现原子性。 #### 四、异常处理 在使用...
使用 ado.net 连接到数据源 执行命令 使用datareader检索数据 将存储过程用于命令 从数据库中获取单个值 从数据库中获取blob 值 执行数据库操作和修改数据 从sql server中以xml形式...
- **1.2.1 使用SqlClient创建基本ADO.NET数据对象**:通过使用`SqlClient`命名空间中的类,可以轻松地与SQL Server数据库进行交互。 - **1.2.2 对多表更新应用事务**:事务处理是保证数据一致性的关键,ADO.NET支持...
ADO.NET是微软.NET框架中用于访问数据库的核心组件,它为开发者提供了一套高效、灵活的数据访问接口,使得在.NET环境中处理数据库操作变得简单易行。本篇将深入探讨ADO.NET的技术内幕,涵盖VB.NET和C#两种编程语言的...
学习ADO.NET的高级编程,不仅要求理解上述基本概念,还需要掌握如何处理复杂的数据操作,如存储过程的调用、游标(Cursor)的使用、数据流(DataStream)的处理、以及如何利用Entity Framework这样的ORM工具简化数据...
ADO.NET 2.0 是微软开发的一个用于处理数据访问的框架,它在.NET Framework中扮演着核心角色。这个"Pro ADO.NET 2.0 章节源码"的压缩包提供了该书籍中各章节的源代码示例,旨在帮助读者深入理解ADO.NET 2.0的工作...
首先,SqlDataSource是一种内置的数据源控件,它可以直接连接到SQL Server数据库,并执行SQL语句或存储过程来获取数据。这个控件的强大之处在于它允许我们在设计时配置数据库连接信息,甚至可以在运行时动态改变查询...
ADO.NET是Microsoft .NET框架中的一个重要组成部分,它提供了一组用于访问和操作数据的类库。通过ADO.NET,开发人员可以与各种数据源进行高效、灵活的数据交互,包括关系数据库(如SQL Server、Oracle等)、XML文件...