从VB6转换为VB.Net后的字符串默认参数值问题

从VB6转换为VB.Net后的字符串默认参数值问题,第1张

概述我们有一个已从VB6转换为VB.Net的遗留组件. 使用Request(“param”)从ASPX页面调用VB组件,以将可选参数传递给函数调用.这意味着如果参数不存在,则值为null / nothing. 然后使用Parameters.Append将参数添加到存储过程的ADODB调用中. 当从VB6缺失使用时,Request(“param”)值在传递给VB6组件时被强制转换为空字符串.这意味着满足 我们有一个已从VB6转换为VB.Net的遗留组件.

使用Request(“param”)从ASPX页面调用VB组件,以将可选参数传递给函数调用.这意味着如果参数不存在,则值为null / nothing.

然后使用Parameters.Append将参数添加到存储过程的ADODB调用中.

当从VB6缺失使用时,Request(“param”)值在传递给VB6组件时被强制转换为空字符串.这意味着满足ADODB调用(对于所需参数).

当代码被移植到VB.Net时,null Request(“param”)值现在作为空值传递(VB什么都没有?),如果没有什么,Parameters.Append会跳过添加值.这导致存储过程调用中断,因为缺少必需的参数.

我的问题是:

如果我们将组件的函数参数更改为可选,并将paramname更改为string =“”defaults,那么null / nothing值是否会转换为空字符串,或者是null /什么不对待简单丢失的参数?

对使用null这个术语表示歉意,但99%的工作是C#:)

解决方法 如果传递nothing作为默认为空字符串的Optional String参数的参数,则方法内的变量将具有nothing值.它不具有空字符串的值.它们是两个不同的值,因为.Net中的字符串是引用类型.您应该在方法的顶部添加代码,以使用空字符串替换那些参数的nothing. 总结

以上是内存溢出为你收集整理的从VB6转换为VB.Net后的字符串默认参数值问题全部内容,希望文章能够帮你解决从VB6转换为VB.Net后的字符串默认参数值问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存