jjzjj

c# - 如何使用 DBNull.Value 清晰快速地参数化空字符串

我厌倦了编写以下代码:/*CommentingoutirrelevantpartspublicstringMiddleName;publicvoidSave(){SqlCommand=newSqlCommand();//blahblah...boringINSERTstatementwithparamsetcgohere.*/if(MiddleName==null){myCmd.Parameters.Add("@MiddleName",DBNull.Value);}else{myCmd.Parameters.Add("@MiddleName",MiddleName);}/*//more

c# - 对象不能从 DBNull 转换为其他类型

对象不能从DBNull转换为其他类型。我有一个抛出上述错误的函数。我正在处理存储过程和C#代码中的所有空值。那么它是从哪里得到这个错误的呢?我可以在catchblock中看到错误。但我不明白以下create()中的哪一行出现错误。publicBooleanCreate(DataTODataTO){IDbTranstransaction=null;IDbCmdIDbCmd;stringEncryptedPassword=Encrypt(DataTO.txtPwd);BasedataAccCom=null;try{dataAccCom=Factory.Create();dataAccCom

c# - 对象不能从 DBNull 转换为其他类型

对象不能从DBNull转换为其他类型。我有一个抛出上述错误的函数。我正在处理存储过程和C#代码中的所有空值。那么它是从哪里得到这个错误的呢?我可以在catchblock中看到错误。但我不明白以下create()中的哪一行出现错误。publicBooleanCreate(DataTODataTO){IDbTranstransaction=null;IDbCmdIDbCmd;stringEncryptedPassword=Encrypt(DataTO.txtPwd);BasedataAccCom=null;try{dataAccCom=Factory.Create();dataAccCom

c# - 在 C# 中处理 DBNull

有没有更好/更干净的方法来做到这一点?intstockvalue=0;if(!Convert.IsDBNull(reader["StockValue"]))stockvalue=(int)reader["StockValue"]; 最佳答案 最短的(恕我直言)是:intstockvalue=(reader["StockValue"]asint?)??0;解释:如果reader["StockValue"]是int类型,将返回该值,而“??”运算符将返回结果如果reader["StockValue"]不是int类型(例如DBNull),

c# - 在 C# 中处理 DBNull

有没有更好/更干净的方法来做到这一点?intstockvalue=0;if(!Convert.IsDBNull(reader["StockValue"]))stockvalue=(int)reader["StockValue"]; 最佳答案 最短的(恕我直言)是:intstockvalue=(reader["StockValue"]asint?)??0;解释:如果reader["StockValue"]是int类型,将返回该值,而“??”运算符将返回结果如果reader["StockValue"]不是int类型(例如DBNull),

C# ADO.NET : nulls and DbNull -- is there more efficient syntax?

我有一个DateTime?,我正尝试使用DbParameter将其插入到一个字段中。我正在这样创建参数:DbParameterdatePrm=updateStmt.CreateParameter();datePrm.ParameterName="@change_date";然后我想将DateTime?的值放入dataPrm.Value中,同时考虑null。一开始我以为我会很聪明:datePrm.Value=nullableDate??DBNull.Value;但是失败并出现错误Operator'??'cannotbeappliedtooperandsoftype'System.Date

C# ADO.NET : nulls and DbNull -- is there more efficient syntax?

我有一个DateTime?,我正尝试使用DbParameter将其插入到一个字段中。我正在这样创建参数:DbParameterdatePrm=updateStmt.CreateParameter();datePrm.ParameterName="@change_date";然后我想将DateTime?的值放入dataPrm.Value中,同时考虑null。一开始我以为我会很聪明:datePrm.Value=nullableDate??DBNull.Value;但是失败并出现错误Operator'??'cannotbeappliedtooperandsoftype'System.Date

c# - 无法将类型为 'System.DBNull' 的对象转换为类型 'System.String`

我的应用程序出现了上述错误。这是原始代码publicstringGetCustomerNumber(Guidid){stringaccountNumber=(string)DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidmyApp,CommandType.StoredProcedure,"GetCustomerNumber",newSqlParameter("@id",id));returnaccountNumber.ToString();}我替换为publicstringGetCustomerNumber(Guidid

c# - 无法将类型为 'System.DBNull' 的对象转换为类型 'System.String`

我的应用程序出现了上述错误。这是原始代码publicstringGetCustomerNumber(Guidid){stringaccountNumber=(string)DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidmyApp,CommandType.StoredProcedure,"GetCustomerNumber",newSqlParameter("@id",id));returnaccountNumber.ToString();}我替换为publicstringGetCustomerNumber(Guidid

c# - 如何通过列名检查 MySqlDataReader 中的 NULL?

如何在打开的MySqlDataReader中检查NULL值?以下不起作用;它总是点击else:if(rdr.GetString("timeOut")==null){queryResult.Egresstime="Loggedin";}else{queryResult.Egresstime=rdr.GetString("timeOut");}rdr.IsDbNull(inti)只接受列号,不接受名称。 最佳答案 varordinal=rdr.GetOrdinal("timeOut");if(rdr.IsDBNull(ordinal))