Итак, я пытаюсь вернуть значение из ввода с помощью asp.net. Однако проблема заключается в том, что я продолжаю получать значение null
. Но если я ввожу строку, как если бы она была вставлена с помощью запроса, она отлично работает.Вход в MySQL из значения NULL ASP.Net
Почему я получаю нулевое значение?
This Works:
[HttpPost]
[Route("A3Bans/searchBan")]
public string oSearchBan(tBan ban)
{
{
tBan bans = new tBan();
string dbConnection = "datasource=127.0.0.1;port=3306;username=admin;password=00000";
MySqlConnection conDataBase = new MySqlConnection(dbConnection);
MySqlDataReader dbReader;
MySqlCommand selectCommand = new MySqlCommand("SELECT `BanID`, `GUID`, `BanTime`, `Reason`, `BanType`, `Proof` FROM `a3bans`.`bans` WHERE `GUID`= 'e7af78997ef220a557c97a1a4c11e0c2'", conDataBase); //@prmGuid, conDataBase); // Returning a null value?!
// selectCommand.Parameters.AddWithValue("@prmGuid", new tID(ban.GuidOrIP));
conDataBase.Open();
dbReader = selectCommand.ExecuteReader();
try
{
while (dbReader.Read())
{
tBan searchBan = new tBan();
searchBan.BanID = dbReader.GetString("BanID");
searchBan.GuidOrIP = dbReader.GetString("GUID");
searchBan.BanTime = dbReader.GetString("BanTime");
searchBan.BanType = dbReader.GetString("BanType");
searchBan.BanReason = dbReader.GetString("Reason");
searchBan.BanType = dbReader.GetString("BanType");
searchBan.Proof = dbReader.GetString("Proof");
bans = searchBan;
}
}
catch (Exception ex)
{
}
finally
{
dbReader.Close();
conDataBase.Close();
}
return bans.Proof;
}
}
Однако, как только я попытаюсь сделать это вводом из другого источника, это будет null.
Так что мой вопрос здесь:
MySqlCommand selectCommand = new MySqlCommand("SELECT `BanID`, `GUID`, `BanTime`, `Reason`, `BanType`, `Proof` FROM `a3bans`.`bans` WHERE `GUID`= '@prmGuid'", conDataBase);
selectCommand.Parameters.AddWithValue("@prmGuid", new tID(ban.GuidOrIP));
Класс с застройщиком: Что, вероятно, не так недавно полностью. TID
namespace A3Bans.Schemas
{
public class tID
{
public tID(string guidOrIP)
{
GuidOrIP = guidOrIP;
}
public string GuidOrIP { get; set; }
public string BanID { get; set; }
}
}
Что, если я должен был догадаться, что это мой конструктор ... Есть мысли?
EDIT
Понял частично работать, он просто возвращается неправильные значения.
MySqlConnection con = new MySqlConnection(dbConnection);
MySqlCommand cmd;
con.Open();
MySqlDataReader dbReader;
string cmdText = "SELECT `BanID`, `GUID`, `BanTime`, `Reason`, `BanType`, `Proof` FROM `a3bans`.`bans` WHERE `GUID` LIKE @pGUID";
cmd = new MySqlCommand(cmdText, con);
cmd.Parameters.AddWithValue("@pGUID", "%" + bans.GuidOrIP + "%");
у меня есть, это была последняя попытка при получении его на работу. Он по-прежнему возвращается как null – Mokey
Удалили ли вы комментарий из строки AddWithValue? И неясно, что является результатом этого кода: _new tID (ban.GuidOrIP)); _ он, похоже, не возвращает такие значения, как 'e7af78997ef220a557c97a1a4c11e0c2' – Steve
Ну, это должно вернуть значения строки get на основе вставленной строки который находится в базе данных. Но он просто возвращается как null. Я новичок в C#, и я уже нахожусь на линии кода в течение 3 дней. Мой резиновый ducky находится через дом – Mokey