【发布时间】:2023-03-26 01:59:02
【问题描述】:
我有这样的 Oledbconnection(这是示例代码):
public string var1, var2;
...
OleDbConnection Connection;
Connection = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" +
Server.MapPath("~/db.mdb"));
OleDbCommand Command1, Command2;
Command1 = new OleDbCommand("SELECT DT FROM Table1 WHERE ID = 1", Connection);
Command2 = new OleDbCommand("SELECT GT FROM Table1 WHERE ID = 1", Connection);
Connection.Open();
var1= (string)Command1.ExecuteScalar();
var2= (string)Command2.ExecuteScalar();
Connection.Close();
当 Oledbcommand 为空时,ExecuteScalar 出现错误。
我可以使用 try-catch 或者我可以控制对象是否为空。但是有可能做到这一点的简单方法吗?我只想如果查询为空,我想设置空 var1 和 var2。
谢谢。
【问题讨论】:
-
我不明白。只需检查
if(var1 == null)或其他什么? -
实施空检查,
-
如果查询为空,我想这样设置:
var1 = "";。因为如果 oledbcommand 为空,executescalar 不起作用。 -
对于分配,您可以使用空合并运算符 var1= (string) (Command1.ExecuteScalar() ?? "");这意味着如果执行标量返回 null,则返回 ""。事后不要忘记检查 dbnull