vb.net中调用带日期参数的存储过程,老是提示参数不支持,请高手帮忙看看

问题描述

运行提示ProcedureorFunction'sdk_sp_showresult'expectsparameter'@date',whichwasnotsupplied.代码如下:DimconnAsSqlClient.SqlConnectionDimdadAsSqlClient.SqlDataAdapterDimdstAsDataSetDimcmmAsSqlClient.SqlCommandDimpara1AsSqlClient.SqlParameterDimpara2AsSqlClient.SqlParameterDimdrdAsSqlClient.SqlDataReaderconn=NewSqlClient.SqlConnection(ls_connstr)conn.Open()cmm=NewSqlClient.SqlCommand("sdk_sp_showresult",conn)cmm.CommandType=CommandType.StoredProcedurepara1=cmm.Parameters.Add("@data",SqlDbType.DateTime)para1.Direction=ParameterDirection.Input'para1.Value=CType(dtp1.Value.ToString,Date)para1.Value=NewSystem.Nullable(OfDate)(CType(dtp1.Value.ToShortDateString,Date))msgbox(para1.Value.ToString,MsgBoxStyle.Critical)para2=cmm.Parameters.Add("@count",SqlDbType.Int)para2.Direction=ParameterDirection.Inputpara2.Value=CType(mtb1.Text,Integer)drd=cmm.ExecuteReader()

解决方案

解决方案二:
数据库中的DATE类型和.NET中的DATE类型格式是不同的,你要入的Date参数必须是数据库支持的Datepara1.Value=NewSystem.Nullable(OfDate)(CType(dtp1.Value.ToShortDateString,Date))这句应该改为:(在ORACLE数据库下):dimstrTempDateasstringdimInputDateasdatestrTempDate=Convert.ToDateTime(dtp1.Value).Date.Tostring("yyyyMMdd")'先在.net下把DTP1的值转换为可执行的STRING日期格式dimstrSqlasstring="selectto_date('"&strTempDate&"','yyyyMMdd')fromdual"‘再从数据库中用STRING取出DATEInputDate=用数据集取出查询strSql得到的Date值para1.Value=InputDate是可以成功的,但一般我们公司建立存储过程不爱用Date类型做参数,都是用string,然后在存储过程中将string类型参数转换成Date类型,这样.net程序就好写的多了。
解决方案三:
不要用DateTime类型,直接用字符型就好了,SQL自己会转换的

时间: 2024-11-15 20:30:19

vb.net中调用带日期参数的存储过程,老是提示参数不支持,请高手帮忙看看的相关文章

labview+matlab-在Labview中调用Matlab程序时出错,错误提示Function函数无效

问题描述 在Labview中调用Matlab程序时出错,错误提示Function函数无效 请大神们帮帮忙,这个问题怎么解决啊? 解决方案 http://wenku.baidu.com/link?url=c_f-NBJBOaw_RveWarfinIctyj5GYUQlJagTkpE_eed4JkesENfgIO9JMUYs6uU9bW8onhml7JJ5eO2V80LcmS0GsnYdNwYGEzeUgACOguu

xmn-运行Java程序时,JVM参数没有生效,请高手帮忙看看。

问题描述 运行Java程序时,JVM参数没有生效,请高手帮忙看看. 小弟在学习GC的过程中,遇到JVM参数未生效的问题,一时不知道怎么解决,请路过大神帮帮忙指点指点,小弟谢过! 运行环境为:Win7 64bit, 4 core. 1,程序如下 public class PSGCDirectOldDemo { /** * @para args * @throws InterruptedException */ public static void main(String[] args) throw

串口通信-请高手帮忙回答,在龚建伟老师的串口调试中遇到了Serial串口类的问题

问题描述 请高手帮忙回答,在龚建伟老师的串口调试中遇到了Serial串口类的问题 点击打开串口按钮时,就会弹出以上图片的错误, 代码如下 // SerialPortTestDlg.h : header file // #include"SerialPort.h" #if !defined(AFX_SERIALPORTTESTDLG_H__37F6643D_1905_4655_883E_24AD7F141ED0__INCLUDED_) #define AFX_SERIALPORTTEST

gridview中调用带参数的存储过程,出现错误,提示"未提供该参数"

问题描述 存储过程:Createprocdeltractor(@idint,@marknumchar)asDELETEFROMdbo.tractorinfoWHERE(dbo.tractorinfo.id=@id)DELETEFROMdbo.stateWHERE(dbo.state.marknum=@marknum)returngoC#代码:<asp:GridViewID="GridView1"DataKeyNames="id".....<asp:Sql

在vb.net中调用过程

一.调用Sub过程 与Function过程不同,在表达式中,Sub过程不能用其名字调用,调用Sub过程的是一个独立的语句.Sub过程还有一点与函数不同,它不会用名字返回一个值.但是,与Function过程一样,Sub过程也可以修改传递给它们的任何变量的值.调用Sub过程有两种方法: '以下两个语句都调用了名为MyProc的Sub过程. Call MyProc(FirstArgument,SecondArgument) MyProc(FirstArgument,SecondArgument)二.调

从文件中读取彝文在SWT中显示乱码,请高手帮忙解决,谢谢,----急急!!!!!

问题描述 现在做一个软件,其中有关于从文件中读取彝文并程序在SWT中显示的功能,现在从文件读取后显示是乱码,请高手指教一下,十分感谢!!! 解决方案 解决方案二:可以肯定是编程格式有问题,没看到你的代码,不好解答.解决方案三:你读的时候就用utf8格式就可以了解决方案四:应当是前后的编码格式有问题,你输出的时候以utf8格式输出解决方案五:Filef=newFile("E:\t.txt");InputStreamReaderread=newInputStreamReader(newFi

关于WebService中数据库事务的奇怪问题,请高手帮忙解决

问题描述 问题:用WebService实现了一个方法,同时向表A.B插入记录,并启动了事务,调试该方法时当执行向A表中插入了记录语句后终止调试(即:退出程序),发现已经向A表插入数据成功,而程序并没有执行Commit和rollback方法,当将同样的代码拷贝到Windows桌面程序中调式时,如果不执行Commit方法而终止程序执行并不会插入记录成功,如果是这样我的应用程序突然断电,岂不是不能保证数据的完整性,代码如下:[WebMethod]publicvoidTestConnection(){S

请教一个.net中对.txt文件操作的问题,请高手帮忙看一下!!

问题描述 下载推荐人配置文件introduce.txt,保存神州游游戏大厅的神州游游戏目录中.通过这台机器注册的所有游戏用户,您的帐号将成为默认推荐人.配置文件introduce.txt的保存路径:假设您的唐人游游戏大厅默认安装在C:ProgramFiles神州游游戏目录下,则推荐人配置文件为:C:ProgramFiles神州游游戏introduce.txt这个功能怎么实现呀,高手帮忙看一下呀,急呀!!! 解决方案 解决方案二:???解决方案三:下载推荐人配置文件introduce.txt,保存

VB.NET中调用MSI卸载软件的2个方法_vb.net

最近在折腾组里面的那个破Lab,要自己写程序每天安装最新版本的build.而今天手头上没有任何任务,所以把用到的一些东西记下来以供今后参考.这篇日志来记录如何在.NET中卸载别的软件. 一.直接使用MSI安装包 如果你知道MSI安装程序的路径,那么显然可以直接使用即可: 复制代码 代码如下: msiexec /x "C:Table Manager Clients.msi" /quiet /qn /quiet参数表示自动卸载,/qn表示 显示任何UI. 这个方法很简单,推荐使用.但是如果