我有一个数据库,其中包含我产品买家的信息,但是我希望它将程序提供的值发送到数据库,如果它为null,我该怎么做?
代码:
我有一个数据库,其中包含我产品买家的信息,但是我希望它将程序提供的值发送到数据库,如果它为null,我该怎么做?
代码:
string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";
var connection = new MySqlConnection(connString);
var cmd = new MySqlCommand(comando, connection);
cmd.Parameters.AddWithValue("@Usuario", usuario);
cmd.Parameters.AddWithValue("@Senha", senha);
var command = connection.CreateCommand();
connection.Open();
MySqlDataReader leitor = cmd.ExecuteReader();
while (leitor.Read())
{
hd_id = leitor["id"].ToString();
}
if (hd_id == null)
{
//Code i need here
}
int retorno = Convert.ToInt32(cmd.ExecuteScalar());
connection.Close();
答案 0 :(得分:0)
<强> C#强>
cmd.Parameters.AddWithValue("@Usuario", String.IsNullOrEmpty(usuario) ? DBNull.Value : usuario);
cmd.Parameters.AddWithValue("@Senha", String.IsNullOrEmpty(senha) ? DBNull.Value : senha);
答案 1 :(得分:0)
在这个问题中,翻译中有很多内容已经丢失了,但是从我认为我正在阅读中我想你需要检索数据库中的ID。但是查询只是运行count
命令而不包含该命令。
string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";
实际应该是
string comando = "SELECT id FROM tbl_usuario WHERE user=@Usuario AND pw=@Senha AND tipo=1";
因为你只返回1个值(如果没有记录匹配则为null),那么你不需要使用阅读器;并且您可以直接读取返回,并检查null
var sqlReturn = cmd.ExecuteScalar();
if (sqlReturn == null) { /* Code i need here */ }
else { hd_id = (int)sqlReturn; }
如果我不明白这个问题;请随时告诉我们,我们会看看能否帮到您。