热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用SqlCommander调用存储过程时如果有多个参数,该怎样写?

各位朋友,小弟的存储过程里面分别有三个数,分别是:@begin_datedatetime,@end_datedatetime,@departvarchar(50)%,@departvar
各位朋友,小弟的存储过程里面分别有三个数,分别是:@begin_date datetime,@end_date datetime,@depart varchar(50)='%',@depart varchar(50)
,请问下面的调用语句怎样改,才可以传进三个参数呢?请各位朋友赐教,谢谢!!!
。。。。。。。。。。 
 salesCMD.CommandType   =   CommandType.StoredProcedure;   
 SqlParameter   myParm   =   salesCMD.Parameters.Add("@CategoryName",SqlDbType.NVarChar,15);   
  myParm.Value   =   "Beverages";   
。。。。。。。。
    
上面的代码只能传入一个参数,但有三个参数的时候,应该将上面的存储过程怎样改,请各位朋友赐教,谢谢!!!

6 个解决方案

#1


SqlParameter myParm1 = salesCMD.Parameters.Add("@CategoryName",SqlDbType.NVarChar,15);
myParm1.Value = "Beverages"; 

SqlParameter myParm2 = salesCMD.Parameters.Add("@depart",SqlDbType.NVarChar,50);
myParm2.Value = "asdqwf"; 

SqlParameter myParm3 = salesCMD.Parameters.Add("@depart2",SqlDbType.NVarChar,50);
myParm3.Value = "asdqwf2";

#2


楼上正解

#3


楼上的两位朋友,问多一句,如果将下面的改为ExecuteScalar();该怎样改呢?请两位朋友再次赐教,另外,书上说ExecuteScalar();只返回第一行第一列的值,其实ExecuteReader()是不是可以实现ExecuteScalar();的所有功能的呢?两者最大的区别是什么呢?


namespace ConsoleApplication1
{
    class Program
    {
        public int i;
        static void Main(string[] args)
        {
        SqlConnection conn =new SqlConnection(@"Data Source=SUREWINJORDON\WORKSYSTEM;Initial Catalog=worksystem;Persist Security Info=True;User ID=SA;password=0000");
        SqlCommand comma = conn.CreateCommand();
        comma.CommandText = "Kaoqinquery";
        comma.CommandType = CommandType.StoredProcedure;
        SqlParameter value1 = comma.Parameters.Add("@emp_id", SqlDbType.NChar, 20);
        value1.Value = "1";
        conn.Open();
        SqlDataReader readdata = comma.ExecuteReader();
            
        int i = new int();
            while (readdata.Read())
        {
            i += 1;
            Console.WriteLine("{0}",readdata.GetString(3));
        }
        Console.WriteLine("{0}",i);
            readdata.Close();
        conn.Close();

        Console.ReadLine();
        }
    }
}

#4


ExecuteScalar()只返回第1列第1行数据,

可以直接comma.ExecuteScalar()来调用。

ExecuteReader方法返回一个只向前的reader对象,要使用这个reader对象,必须保持链接是打开的。

而ExecuteScalar一般用于只返回1个结果数据的情况下,比如取表中的数据库总行数,而ExecuteReader一般用于读取大量数据的时候,用只读向前的方式读取

#5


1、如果想从存储过程中返回值,可以设置参数的OUTPUT方向.
2、ExecuteReader可以实现ExecuteScalar的功能,但是ExecuteReader需要将数据读到客户
端.

#6


SqlParameter myParm1 = salesCMD.Parameters.Add("@CategoryName",SqlDbType.NVarChar,15);
myParm1.Value = "Beverages"; 

SqlParameter myParm2 = salesCMD.Parameters.Add("@depart",SqlDbType.NVarChar,50);
myParm2.Value = "asdqwf"; 

SqlParameter myParm3 = salesCMD.Parameters.Add("@depart2",SqlDbType.NVarChar,50);
myParm3.Value = "asdqwf2";
void SqlDataReader getsqlreader(string con)
{
SqlConnection con=new SqlConnection(strCon);
con.Open();
string sql ="select Beverages,asdqwf,asdqwf2 from 表"
SqlCommand cmd = new SqlCommand(sql , con);
return cmd.ExecuteReader();
}
SqlDataReader dr = getsqlreader(sql);
dr.Read();
string a1 = dr["表"].ToString();
string a2 = dr["表"].ToString();
string a3 = dr["表"].ToString();
dr.Close();
如果要传多个参数的话 
Response.Redirect("bb.aspx?aa1="+Server.UrlEncode(a1) +"&aaa1="+Server.UrlEncode(aaa1)+");后面可以接N多


推荐阅读
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了如何在Mac上使用Pillow库加载不同于默认字体和大小的字体,并提供了一个简单的示例代码。通过该示例,读者可以了解如何在Python中使用Pillow库来写入不同字体的文本。同时,本文也解决了在Mac上使用Pillow库加载字体时可能遇到的问题。读者可以根据本文提供的示例代码,轻松实现在Mac上使用Pillow库加载不同字体的功能。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文介绍了Java调用Windows下某些程序的方法,包括调用可执行程序和批处理命令。针对Java不支持直接调用批处理文件的问题,提供了一种将批处理文件转换为可执行文件的解决方案。介绍了使用Quick Batch File Compiler将批处理脚本编译为EXE文件,并通过Java调用可执行文件的方法。详细介绍了编译和反编译的步骤,以及调用方法的示例代码。 ... [详细]
  • 《树莓派开发实战(第2版)》——2.2 创建模型和运行推理:重回Hello World
    本节书摘来异步社区《概率编程实战》一书中的第2章,第2.2节,作者:【美】AviPfeffer(艾维费弗)&# ... [详细]
author-avatar
fuhuan9479184787
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有