关于,net更新机制 高手请进 已经挂了2天了 没办法解决版主是否可以帮忙(在线等)

问题描述

存储过程如下:CREATEPROCEDUREUpdate_FinishedProductPlan@FinishedProductPlanDatechar(10),@TradeModechar(50),@Articlechar(30),@Colourchar(20),@ColourCodechar(40),@PlannedHidesint,@SRLNochar(10),@Priorityint,@Destinationchar(50),@Remarkschar(100),@FinishedProductPlanDate_Oldchar(10),@TradeMode_Oldchar(50),@Article_Oldchar(30),@Colour_Oldchar(20),@ColourCode_Oldchar(40),@PlannedHides_Oldint,@SRLNo_Oldchar(10),@Priority_Oldint,@Destination_Oldchar(50),@Remarks_Oldchar(100)ASbegintransactionupdateFinishedProductPlansetFinishedProductPlanDate=@FinishedProductPlanDate,TradeMode=@TradeMode,Article=@Article,Colour=@Colour,ColourCode=@ColourCode,PlannedHides=@PlannedHides,SRLNo=@SRLNo,Priority=@Priority,Destination=@Destination,Remarks=@RemarkswhereFinishedProductPlanDate=@FinishedProductPlanDate_OldandTradeMode=@TradeMode_Old--andArticle=@Article_OldandColour=@Colour_OldandColourCode=@ColourCode_OldandPlannedHides=@PlannedHides_OldandSRLNo=@SRLNo_OldandPriority=@Priority_OldandDestination=@Destination_OldandRemarks=@Remarks_Oldif@@error<>0beginrollbacktransactionraiserror('error',16,1)returnendcommittransactionGO

更新逻辑如下:PrivateFunctionCreatUpdateCommand()AsOleDbCommandDimcmdAsNewOleDbCommand("update_FinishedProductPlan",cn)cmd.CommandType=CommandType.StoredProcedureDimpcAsOleDbParameterCollection=cmd.Parameterspc.Add("FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")pc.Add("TradeMode",OleDbType.Char,50,"TradeMode")pc.Add("Article",OleDbType.Char,30,"Article")pc.Add("Colour",OleDbType.Char,20,"Colour")pc.Add("ColourCode",OleDbType.Char,4,"ColourCode")pc.Add("PlannedHides",OleDbType.Integer,4,"PlannedHides")pc.Add("SRLNo",OleDbType.Char,10,"SRLNo")pc.Add("Priority",OleDbType.Integer,4,"Priority")pc.Add("Destination",OleDbType.Char,50,"Destination")pc.Add("Remarks",OleDbType.Char,100,"Remarks")DimparamAsOleDbParameterparam=pc.Add("FinishedProductPlanDate_Old",OleDbType.Char,10,"FinishedProductPlanDate")param.SourceVersion=DataRowVersion.Originalpc.Add("TradeMode_Old",OleDbType.Char,50,"TradeMode")param.SourceVersion=DataRowVersion.Originalpc.Add("Article_Old",OleDbType.Char,30,"Article")param.SourceVersion=DataRowVersion.Originalpc.Add("Colour_Old",OleDbType.Char,20,"Colour")param.SourceVersion=DataRowVersion.Originalpc.Add("ColourCode_Old",OleDbType.Char,4,"ColourCode")param.SourceVersion=DataRowVersion.Originalpc.Add("PlannedHides_Old",OleDbType.Integer,4,"PlannedHides")param.SourceVersion=DataRowVersion.Originalpc.Add("SRLNo_Old",OleDbType.Char,10,"SRLNo")param.SourceVersion=DataRowVersion.Originalpc.Add("Priority_Old",OleDbType.Integer,4,"Priority")param.SourceVersion=DataRowVersion.Originalpc.Add("Destination_Old",OleDbType.Char,50,"Destination")param.SourceVersion=DataRowVersion.Originalpc.Add("Remarks_Old",OleDbType.Char,100,"Remarks")param.SourceVersion=DataRowVersion.OriginalReturncmdEndFunction

但是发觉无法更新我的目的是要更新前比对下数据库的数据是否更改如果更改抛出异常但是现在就算不改变也无法更新高手帮我看下

解决方案

本帖最后由 lzmtw 于 2008-05-28 17:32:16 编辑
解决方案二:
改为:更新逻辑如下:PrivateFunctionCreatUpdateCommand()AsOleDbCommandDimcmdAsNewOleDbCommand("update_FinishedProductPlan",cn)cmd.CommandType=CommandType.StoredProcedureDimpcAsOleDbParameterCollection=cmd.Parameterspc.Add("FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")pc.Add("TradeMode",OleDbType.Char,50,"TradeMode")pc.Add("Article",OleDbType.Char,30,"Article")pc.Add("Colour",OleDbType.Char,20,"Colour")pc.Add("ColourCode",OleDbType.Char,4,"ColourCode")pc.Add("PlannedHides",OleDbType.Integer,4,"PlannedHides")pc.Add("SRLNo",OleDbType.Char,10,"SRLNo")pc.Add("Priority",OleDbType.Integer,4,"Priority")pc.Add("Destination",OleDbType.Char,50,"Destination")pc.Add("Remarks",OleDbType.Char,100,"Remarks")DimparamAsOleDbParameterparam=pc.Add("FinishedProductPlanDate_Old",OleDbType.Char,10,"FinishedProductPlanDate_Old")pc.Add("TradeMode_Old",OleDbType.Char,50,"TradeMode_Old")pc.Add("Article_Old",OleDbType.Char,30,"Article_Old")pc.Add("Colour_Old",OleDbType.Char,20,"Colour_Old")pc.Add("ColourCode_Old",OleDbType.Char,4,"ColourCode_Old")pc.Add("PlannedHides_Old",OleDbType.Integer,4,"PlannedHides_Old")pc.Add("SRLNo_Old",OleDbType.Char,10,"SRLNo_Old")pc.Add("Priority_Old",OleDbType.Integer,4,"Priority_Old")pc.Add("Destination_Old",OleDbType.Char,50,"Destination_Old")pc.Add("Remarks_Old",OleDbType.Char,100,"Remarks_Old")ReturncmdEndFunction
解决方案三:
你的存储过程无论更不更改都不会抛出异常,最多就是更新0行(更新失败)或1行(更新成功),除非参数错误.如果要知道更改否,要检查更新影响了多少行.
解决方案四:
那这样我所有的old的参数都要自己取?就是我在第一次取出数据的同时就要把old的数据取出来手动的留下我第一取数据的副本是吗?但是我在csdn里看到通过DataRowVersion.Original的参数可以自动取出副本
解决方案五:
呵呵。可以看参考我的问题:http://topic.csdn.net/u/20080408/17/31afeefc-3575-4c46-8eba-04501fede12c.htmlhttp://topic.csdn.net/u/20080311/17/de3bc5bc-56cc-4c6c-bf9e-7af8be0ccce9.html
解决方案六:
引用3楼passacc67的回复:

那这样我所有的old的参数都要自己取?就是我在第一次取出数据的同时就要把old的数据取出来手动的留下我第一取数据的副本是吗?但是我在csdn里看到通过DataRowVersion.Original的参数可以自动取出副本

这个是如果你使用DataGridView这样的数据绑定控件时,它可以帮你做这件事情
解决方案七:
pc.Add("FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")能对得上@FinishedProductPlanDate吗?是否应该是pc.Add("@FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")
解决方案八:
是啊,应该这样PrivateFunctionCreatUpdateCommand()AsOleDbCommandDimcmdAsNewOleDbCommand("update_FinishedProductPlan",cn)cmd.CommandType=CommandType.StoredProcedureDimpcAsOleDbParameterCollection=cmd.ParametersDimparamAsOleDbParameterparam=pc.Add("@FinishedProductPlanDate",OleDbType.Char,10)param.value="你想要更新的新值"param=pc.Add("@TradeMode",OleDbType.Char,50param.value="同上,下面一样,不写了"param=pc.Add("@Article",OleDbType.Char,30)param=pc.Add("@Colour",OleDbType.Char,20param=pc.Add("@ColourCode",OleDbType.Char,4)param=pc.Add("@PlannedHides",OleDbType.Integer,4)param=pc.Add("@SRLNo",OleDbType.Char,10)param=pc.Add("@Priority",OleDbType.Integer,4)param=pc.Add("@Destination",OleDbType.Char,50)param=pc.Add("@Remarks",OleDbType.Char,100)'param=pc.Add("@FinishedProductPlanDate_Old",OleDbType.Char,10)param.value="你想要对比的旧值"param=pc.Add("@TradeMode_Old",OleDbType.Char,50)param.value="同上,下面一样,不写了"param=pc.Add("@Article_Old",OleDbType.Char,30)param=pc.Add("@Colour_Old",OleDbType.Char,20)param=pc.Add("@ColourCode_Old",OleDbType.Char,4)param=pc.Add("@PlannedHides_Old",OleDbType.Integer,4)param=pc.Add("@SRLNo_Old",OleDbType.Char,10)param=pc.Add("@Priority_Old",OleDbType.Integer,4)param=pc.Add("@Destination_Old",OleDbType.Char,50)param=pc.Add("@Remarks_Old",OleDbType.Char,100)ReturncmdEndFunction
解决方案九:
应该如下:引用6楼lzmtw的回复:

pc.Add("FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")能对得上@FinishedProductPlanDate吗?是否应该是pc.Add("@FinishedProductPlanDate",OleDbType.Char,10,"FinishedProductPlanDate")

解决方案十:
mark

时间: 2024-07-31 17:15:41

关于,net更新机制 高手请进 已经挂了2天了 没办法解决版主是否可以帮忙(在线等)的相关文章

php curl采集高手请进

问题描述 php curl采集高手请进 http://www.lecai.com/ 这个网站怎么用php/url技术进行模拟登录?求参考程序..... 解决方案 我大致看了一下,个人习惯使用Snoopy.class.php模拟登陆,觉得不好可以忽略 POST http://www.lecai.com/user/ajax_login.php HTTP/1.1Host: www.lecai.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:3

微积分-vc 数字图像处理高手请进!

问题描述 vc 数字图像处理高手请进! 图像的梯度锐化 看到上面的公式,我叫一个晕,请问这是哪里才能学到呀?什么意思呀?还需要学习微积分吗? 解决方案 这个公式你仔细琢磨就懂了,第一个实际上是数字的差分,求得是点(i,j)的x和y方向的微分值的和,这里理解为这个像素点的梯度值.第二个就是锐化的过程,当梯度值大于某个阈值时,锐化的结果即此点的梯度值,若梯度小于那个阈值,则锐化的结果是原像素的值. 像这类比较基础的图像处理方法,建议你看一下清华大学章毓名教授写的<图像工程>. 解决方案二: 数字图

apt-ubuntu 高手请进,yara not found

问题描述 ubuntu 高手请进,yara not found 用apt-get intstall yara后,还是出现了configure: error: yara not found 请问为什么会这样,好烦啊,在线求高手解答 解决方案 spt-get install 是安装命令, 如果系统没有找到 yara 的安装包,就会这样. 查查 ubuntu 的在线安装配置. 解决方案二: 一个是看是否安装成功,其次看安装的yara能否执行,有没有错误.

c语言-C语言高手请进:这个分块求和C语言程序问题出在哪里??对一组无规律数据按正数、负数和零分块求和,

问题描述 C语言高手请进:这个分块求和C语言程序问题出在哪里??对一组无规律数据按正数.负数和零分块求和, 对一组无规律数据按正数.负数和零分块求和,即要求将序列中相邻的正数.零及负数分块累加输出,格式要求: 源数据: 2,3,8,6,0,0,-2,-1,-4,0,5,6,7,-5,-2,...(共100个) 整理输出为: 2,5,13,19,0,0,-2,-3,-7,0,5,11,18,-5,-7...(共100个) 以下程序哪里出了问题?我搞了2星期,总是得不到完整输出: int main(

高分悬赏 请大神指导-VBA高手请进 懂得webbrowser

问题描述 VBA高手请进 懂得webbrowser 请问如何通过VBA能够获取网页弹出窗体的Docuement对象,我是要操作弹出窗体里面的一线控件完成自动复制! 我现在可以获取到主页面的Document对象.

hbm-Hibernate 帅哥高手请进...关于Hibernate的三表关联,在线等...

问题描述 Hibernate 帅哥高手请进...关于Hibernate的三表关联,在线等... 表1: File (FID,Fname) 表2: UserGroup(GID,Gname) 表3: ActionPermissions(PID,Pname) 表4: File_Group_Permissions(ID,FID,GID,PID) 用四个表完成给某个文件指定用户组每个用户组指定权限,一文件对应多个用户组 每个用户组针对这个文件有不同的操作权限.Hibernate应该如何配置,表结构是否合理

vb参数传递-VB高手请进!在线等。。——shell使用dos命令时参数的传递

问题描述 VB高手请进!在线等..--shell使用dos命令时参数的传递 怎样才能将%LOGPATH%所替代的内容传递到其中? (不要写成调用bat的形式) 解决方案 不行的,%logpath%不能包在括号里,应该这样 Shell "cmd /k mkdir "+LOGPATH+" > nul 2>&1", vbNormalNoFocus vb调用dos是直接运行引号内的,而不给某一变量赋值.另外包在百分号内的是bat变量而不是vb的变量 解决

多线程-高手请进!!!---线程安全问题,怎么解决new String 问题

问题描述 高手请进!!!---线程安全问题,怎么解决new String 问题 场景是:一个订单号只能一个在付款,只能一个线程处理,不同的订单号支持并发处理 现在如果是new String("20140719140818");就有问题怎么解决 如果不是new出来的,什么情况会出现问题 public class Test { public static void main(String[] args) { new Thread(){ public void run(){ pay(&quo

贝叶斯+mahout-朴素贝叶斯分类问题 高手请进

问题描述 朴素贝叶斯分类问题 高手请进 网上资料讲mahout 贝叶斯的很多,都是讲准备数据,划分测试集训练集,测试训练样本...但是,之后呢?有了这个测试很好的模型,怎么对其他的数据分类啊?比如我通过mahout进行朴素贝叶斯分类,得到训练集,测试也很好,那么有了这个训练集之后怎么对其他数据进行分类呢.说的越详细越好. 解决方案 运行mahout的朴素贝叶斯分类器 1.准备数据1.1 下载数据集,并解压 wget http://people.csail.mit.edu/jrennie/20Ne