因存储过程参数类型不匹配而造成OleDbCommand的不可用(一) (转)[通俗易懂]

因存储过程参数类型不匹配而造成OleDbCommand的不可用(一) (转)[通俗易懂]因存储过程参数类型不匹配而造成OleDbCommand的不可用(一)(转)[@more@]因存储过程参数类型不匹配而造成OledbCommand的不可用XML:namespaceprefix=ons=”urn:…

大家好,又见面了,我是你们的朋友全栈君。

因存储过程参数类型不匹配而造成OleDbCommand的不可用(一) (转)[@more@]

存储过程参数类型不匹配而造成OledbCommand的不可用XML:namespace prefix = o ns = “urn:schemas-microsoft-com:Office:office” />

Key words:

  Stored Procedure/OleDbCommand/ado.NET/Parameter/Type/存储过程/参数/类型

  在讨论OleDbCommand出错之前,还是想了解以下OleDbCommand一些运行机制。在数据库里面有如下存储过程:

ALTER PROCEDURE dbo.Test

@Name  nvarchar(50),

@Age  smallint

AS

select @Name, @Age

使用以下代码调用,并用Watch监视OleDbCommand实例的内存状况:

using System;

using System.Data;

using System.Data.OleDb;

namespace testCommand

{

  class Class1

  {

  [STAThread]

  static void Main(string[] args)

  {

  OleDbConnection conn=new OleDbConnection(“xxx”);

  conn.Open();

  OleDbCommand comm=new OleDbCommand(“Test”,conn);

  comm.CommandType=CommandType.StoredProcedure;

  OleDbCommandBuilder.DeriveParameters(comm);

  try

  {

  comm.Parameters[“Name”].Value=”my name”;

  comm.Parameters[“Age”].Value=(object)11;

    comm.ExecuteNonQuery();  //断点一,此处内存状况见表一

  }

  catch(Exception err)

  {

  Console.WriteLine(

  err.TargetSite+” — “+err.StackTrace+” — “+

  err.source+” — “+err.Message+” — “+

  err.GetType().ToString());

  }

  try

  {

  comm.Parameters[“Name”].Value=”my name”;

  comm.Parameters[“Age”].Value=(object)11;

  comm.ExecuteNonQuery();  //断点二,此处内存状况见表二

  }

  catch(Exception err)

  {

  Console.WriteLine(

  err.TargetSite+” — “+err.StackTrace+” — “+

  err.Source+” — “+err.Message+” — “+

  err.GetType().ToString());

  }

  conn.Close();

  }

  }

}

表格一,断点一处的内存状况

comm

{System.Data.OleDb.OleDbCommand}

System.Data.OleDb.OleDbCommand

transaction

null

System.Data.OleDb.OleDbTransaction

cmdText

Test

string

cmdType

StoredProcedure

System.Data.CommandType

updatedRowSource

Both

System.Data.UpdateRowSource

commandTimeout

30

int

icommandText

null

System.Data.Common.UnsafeNativeMethods.ICommandText

handle_Accessor

0

int

commandBehavior

Default

System.Data.CommandBehavior

dbBindings

null

System.Data.OleDb.DBBindings

canceling

FALSE

bool

isPrepared

FALSE

bool

executeQuery

FALSE

bool

computedParameters

FALSE

bool

designTimeVisible

FALSE

bool

cmdState

0

int

recordsAffected

0

int

CommandText

Test

string

CommandTimeout

30

int

CommandType

StoredProcedure

System.Data.CommandType

DesignTimeVisible

TRUE

bool

IsClosed

TRUE

bool

Transaction

null

System.Data.OleDb.OleDbTransaction

UpdatedRowSource

Both

System.Data.UpdateRowSource

 

余下内容见 ASP?id=18427″>因存储过程参数类型不匹配而造成OleDbCommand的不可用(二)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-956640/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752019/viewspace-956640/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144606.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021-08-20

    2021-08-20福利iTunes12.6.5.3(企业版)下载!发表于:2018-09-2701:22:55来自威锋网页版7.8w326只看楼主本帖最后由扫除一切害人虫于2018-10-3104:24编辑iTunes12.6.5.3(企业版)注:这个版本的iTunes与macOSMojave不兼容。简单介绍一下:这个版本自带应用商店,APP可更新可下载,重刷系统后再也不必使用手机从已购里面一个个下载了。并且这个版本支持XSMAXIOS12.0DFU模式下刷机,可谓是喜欢

  • hibernate教程–快速入门(增删改查)「建议收藏」

    hibernate教程–快速入门(增删改查)「建议收藏」一、Hibernate框架的概述:1.1什么是Hibernate:框架:软件的半成品,完成部分功能代码.Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Se

    2022年10月30日
  • CorelDRAW2022下载附带序列号安装教程

    CorelDRAW2022下载附带序列号安装教程CorelDRAW作为图形设计软件的代表,以其杰出和革新的特性赢得了长期的声誉和用户的赞赏,是一套屡获殊荣的图像编辑软件。CorelDRAW2020包含程序:CorelDRAW2020主程序矢量插图和页面布局工具CorelPHOTO-PAINT2020图像编辑工具:编辑照片,享受与CorelDRAW的集成工作流。CoreFontManager2020字体开发与管理工具:无需安装即可直接使用自己喜欢的字体。PowerTRACE人工智能驱动的位图转矢量图工具CorelDRAW.a

  • C / C++ 保留两位小数(setprecision(n)的一些用法总结)「建议收藏」

    C / C++ 保留两位小数(setprecision(n)的一些用法总结)「建议收藏」  做题遇到保留两位小数的题目,课本上写的又多又杂,网上查来的也是一堆内容需要筛选,눈_눈还是自己总结一下吧。  首先说C++代码#include<iomanip>//不要忘了头文件//第一种写法cout<<setiosflags(ios::fi

  • 【学习强化学习】十三、模仿学习介绍[通俗易懂]

    【学习强化学习】十三、模仿学习介绍[通俗易懂]文章目录参考资料1.模仿学习概述2.行为克隆2.1行为克隆缺点缺点1:观测非常有限缺点2:机器会完全模仿专家的行为缺点3:训练数据跟测试数据不匹配2.逆强化学习2.1概述2.2奖励函数2.2IRLvsGAN3.第三人称视角模仿学习4.练习4.1keywords参考资料https://datawhalechina.github.io/easy-rl/#/chapter11/chapter111.模仿学习概述模仿学习(imitationlearning,IL)又叫做示范学习(

  • IE7\IE6 图片上传预览

    IE7\IE6 图片上传预览

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号