区块链技术博客
www.b2bchain.cn

如何处理从存储过程到C#代码的空值参数返回? – c#程序员分享

本文介绍了如何处理从存储过程到C#代码的空值参数返回? – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我有一个从存储过程获取成绩名称和传递参数的应用程序。除我的成绩表中没有成绩名称的情况外,此方法均有效。我是否需要修改参数以使它们接受null和/或需要修改将这些参数分配给C#参数的位置,以便可以使其接受值或null?

我有这个存储过程。这个问题已被简化:

CREATE PROCEDURE sp_mark_test     @GradeName    NVARCHAR(10) OUTPUT,     @GradePass    BIT OUTPUT AS BEGIN    -- Example only, real code does not hard code in 99    SELECT top 1 @GradeName = Grade.Name, @GradePass = Grade.Pass                 FROM        AdminTest                 WHERE       TestId = 99  END 

这是我的C#代码:

var sql = @"dbo.sp_mark_test @GradeName OUT,                              @GradePass OUT"; SqlParameter[] parameters = new SqlParameter[] {                 new SqlParameter("@GradeName", SqlDbType.NVarChar) { Direction = ParameterDirection.Output,Size = 10 },    new SqlParameter("@GradePass", SqlDbType.Bit) { Direction = ParameterDirection.Output }             };  await db.Database.ExecuteSqlCommandAsync(sql, parameters); var GradeName = (string)parameters[1].Value; var GradePass = (Boolean)parameters[2].Value; 

参考方案

根据要求,这只是一个快速的答案,请研究DBNull的用法,例如

cmd.Parameters.AddWithValue("@closeDate", DBNull.Value); 

或用于比较。

DBNull class上的MSDN页面。下面是一个代码片段:

if (! DBNull.Value.Equals(row[fieldName]))      return (string) row[fieldName] + " ";     else     return String.Empty; 

SQL Joins与Java代码? – java

我有这样的查询Select Folder.name from FROM FolderTable,ValidFolder, ValidFolderGroup, ValidUser, ValidLocation, ValidDepartment where ValidUser.LocationCode *= ValidLocation.LocationCode …

SQLAlchemy中的反射不适用于MS SQL Server系统表吗? – python

我试图在MS SQL Server数据库中反映系统表:from sqlalchemy import engine, create_engine, MetaData, Table meta = MetaData() url = engine.url.URL( "mssql+pyodbc", username=credentials[&#03…

数学和科学方程式和Fomulas的数​​据类型-SQL Server 2008? – c#

我正在使用SQL Server2008。我有一个用于教育部门工作的小项目。为此,我需要存储数学和科学方程式和公式。这意味着数据可能包含带有上标和下标的值。我希望以相同的格式保存数据。是否有适合我需求的适当数据类型? 参考方案 如果此列专门用于存储数学方程式和科学公式,那么我将使用Xml列,然后将数据存储在MathML format中。文字段落,例如说明,可以…

如何转换小数?到存储过程中使用LINQ时小数点后一位 – c#

public static decimal getall(ref decimal? number) { var sigma = from p in db.getDPMO1(ref number) select p.Sigma; return sigma; // I am getting Cannot Convert decimal? to decimal }…

SQL Connection.Close方法上的应用程序崩溃 – c#

我有一个Windows服务,正在执行大量数据处理。在某个时候,我的服务在关闭SQLConnection时崩溃了。当我评论“关闭”连接方法调用时,“服务”将持续运行而不会崩溃。可能是什么问题呢 ?下面是一个代码片段private void DeleteTempTable() { _logger.Info("DeleteTempTable")…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 如何处理从存储过程到C#代码的空值参数返回? – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们