【发布时间】:2012-06-12 15:40:06
【问题描述】:
我有这个代码:
con.Open();
cmd = new MySqlCommand(String.Format("SELECT concat(name,'|',lastname) FROM {0} WHERE ID= ?Parname;", ConfigSettings.ReadSetting("my_data")), con);
cmd.Parameters.Add("?Parname", MySqlDbType.VarChar).Value = id_value;
var tokens = ((String)cmd.ExecuteScalar()).Split('|');
name = tokens[0];
lastname = tokens[1];
当我输入 id 值并且用户实际上在数据库中时,这可以正常工作。但是当数据库中没有这样的用户时,我得到了空异常。如果他不在数据库中,我需要这样做给我写一个未知用户。
【问题讨论】:
-
等等,你想在信息不存在的情况下从数据库中获取信息??这没有任何意义。您得到一个空引用异常,因为(可能)对
ExecuteScalar的调用返回空,因为您正在查找的行在数据库中不存在,从您的描述来看,这正是您所期望的。
标签: c# mysql database-connection