ADO.NET使用存储过程访问数据库

using System;
using System.Data;
using System.Data.SqlClient;

namespace Northwind
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection sqlConn = null;
            SqlCommand sqlCmd = null;
            SqlDataReader sqlDR = null;
            try
            {
                //创建连接对象,使用集成安全方式连接,更安全
                sqlConn = new SqlConnection(@"data source=localhost;
                   Integrated Security=SSPI;Initial Catalog=northwind");
                //创建命令对象,参数1是存储过程名
                sqlCmd = new SqlCommand("SalesByCategory", sqlConn);
                //指明执行的是存储过程
                sqlCmd.CommandType = CommandType.StoredProcedure;
                //构造SqlParameter对象
                SqlParameter sqlParam = sqlCmd.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15);
                //
                sqlParam.Value = "Beverages";
                //打开数据库
                sqlConn.Open();
                //执行查询,并将结果集返回给SqlDataReader
                sqlDR = sqlCmd.ExecuteReader();

                Console.WriteLine("{0}\t\t{1}", sqlDR.GetName(0), sqlDR.GetName(1));
                //遍历所有的行,直到结束
                while (sqlDR.Read())
                {
                    Console.WriteLine("{0}\t\t${1}", sqlDR.GetString(0),
                        sqlDR.GetDecimal(1));
                }
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                //关闭SqlDataReader对象
                sqlDR.Close();
                //断开数据库连接
                sqlConn.Close();
            }

        }
    }
}
时间: 2024-12-03 14:52:02

ADO.NET使用存储过程访问数据库的相关文章

SQLServer存储过程访问数据库权限异常问题的解决方案

server|sqlserver|存储过程|访问|解决|数据|数据库|问题 最近用ASP.net 2.0 + SQL Server做一个网页表单的提交,使用C#编写存储过程来完成向SQL Server数据库表中插入记录的操作.在调用这个存储过程时,出现了关于存储权限的一个异常.下面详述异常产生的过程和解决方案. 1.操作步骤:1)使用ASP.net 2.0,用C#写了一个存储过程,对数据库test中的一个表进行操作,代码如下: public class StoredProcedures{[Mic

delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍?

问题描述 delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍? 20C 如题.这是我反复测试后得出的结论.我实在不理解为什么. 具体测试过程是这样子的:我用ado连接数据库.然后我写了一个简单的存储过程,就是往表里插入数据.然后我用ado调用这个存储过程.然后我就发现,虽然程序里我只调用了一次,但实际上表里的数据却被插入了完全一模一样的两条. 这算是bug还是怎么回事?是不是有什么我不曾注意到的细节没处理好? 存储过程代码如下: create procedure p

ado.net-求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写

问题描述 求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写 访问数据不知道写 存储过程已经写好 解决方案 prepareCall()方法调用存储过程 解决方案二: use 数据库名称 这不是方法 解决方案三: use 数据库名称 用这个语句就能指向数据库 解决方案四: exec 存储过程名称

多线程-Delphi的ADO访问数据库的问题

问题描述 Delphi的ADO访问数据库的问题 问题一: 多线程并发时,每个线程使用自己的adoconnection连接oracle,然后各自执行自己的查询,会不会有优先级的问题? 问题二: sql语句在代码里通过ado查询和在plsql里查询,速度差异会很大吗? 解决方案 (1)不会有什么优先级的问题,在sql中,单条语句本身构成一个事务它是原子的.比如 update table set a = a + 1,这里a = a+1肯定是原子操作,不可能有并发问题. 但是,如果你的程序中有多条sql

学习ADO和ODBC访问数据库的一些思路整理

ado|odbc|访问|数据|数据库 最近一直在学习研究用vc++访问数据库的问题,使用过ADO,也使用过ODBC.就这两种连接数据源的接口都有好几种方式,可以利用database,也可以利用dataset.利用这个word把我学习的思路整理一下. 一.使用ADO连接数据源 一般来说当建立基于对话框的应用程序时,都选择使用ADO比较方便(这纯属个人习惯问题). 1.直接在应用程序中建立与数据库的connection 2.自己写一个ADOConnection类作为应用程序操作数据库的接口,这样操作

ADO.NET访问数据库的步骤

ado|访问|数据|数据库 不论从语法来看,还是从风格和设计目标来看,ADO.NET都和ADO有显著的不同.在ASP中通过ADO访问数据库,一般要通过以下四个步骤: 1.创建一个到数据库的链路,即ADO.Connection: 2.查询一个数据集合,即执行SQL,产生一个Recordset: 3.对数据集合进行需要的操作: 4.关闭数据链路. 在ADO.NET里,这些步骤有很大的变化.ADO.NET的最重要概念之一是DataSet.DataSet是不依赖于数据库的独立数据集合.所谓独立,就是:即

通过ADO.NET访问数据库

ado|访问|数据|数据库 通过ADO.NET访问数据库 作者:不详  -------------------------------------------------------------------------------- ADO.NET访问数据库的步骤不论从语法来看,还是从风格和设计目标来看,ADO.NET都和ADO有显著的不同.在ASP中通过ADO访问数据库,一般要通过以下四个步骤:1. 创建一个到数据库的链路,即ADO.Connection:2. 查询一个数据集合,即执行SQL,

VC基于ADO技术访问数据库的方法_C 语言

本文实例讲述了VC基于ADO技术访问数据库的方法.分享给大家供大家参考.具体如下: 一.在StdAfx.h文件中添加 复制代码 代码如下: #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF") 导入ADO引擎. 二.数据库应用层操作 void CADOExample1Dlg::OnBtnQuery() {

用ASP访问数据库的几种常见方式

用ASP访问数据库的几种常见方式 ActiveX Data Objects (ADO) 是一项容易使用并且可扩展的将数据库访问添加到 Web 页的技术.可以使用 ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源.如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现 ADO 命令语句并不复杂而且容易掌握.同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识 ADO 的先进的与语言