因此,当我尝试使用asp.net(例如e7af78997ef220a557c97a1a4c11e0c2
)调用字符串时,返回总是返回null。我知道它不是空的(所有ID都是那种格式或IP格式)。当我输入一个int列时它会起作用。
所以我的问题是返回始终为null,Visual Studio说
“发生了'System.FormatException'类型的未处理异常 PresentationFramework.dll
其他信息:输入字符串的格式不正确。“
我知道这与MySqlCommand SelectCommand = new MySqlCommand("select * from a3bans.bans where GUID = '" + ban.GuidOrIP + "' ; ", conDataBase);
有关,我几乎肯定它与
'" + ban.GuidOrIP + "' ; ", conDataBase);`
我想我已尝试了一百万种方式,并且要么出现语法错误,要么Null
我认为这个问题与数据库输入而不是输出有关。输入为“select”我只是使用常规查询输入ID,然而它填充了信息。当试图使用我的tban时({getter; Setter;}它只返回Null ......
我研究过的每一件事都引用了一个带有.Text的按钮,似乎没有任何东西对getter和setter有帮助。
我确信这是一件非常简单的事情。我对C#很新,可能需要2分钟的时间可能需要6个小时...就像这样......
[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 * from a3bans.bans where GUID = '" + ban.GuidOrIP + "' ; ", conDataBase); // Returning a null value?!
conDataBase.Open();
dbReader = SelectCommand.ExecuteReader();
while (dbReader.Read())
{
tBan searchBan = new tBan();
searchBan.GuidOrIP = dbReader.GetString("GUID");
searchBan.BanType = dbReader.GetString("BanType");
searchBan.BanReason = dbReader.GetString("Reason");
searchBan.Proof = dbReader.GetString("Proof");
bans = searchBan;
}
dbReader.Close();
return bans.Proof;
}
}
如果我用字符串selectQuery = "Select * FROM a3bans.bans WHERE BanID=" + int.Parse(schBanID.Text);
替换查询字符串,它将从客户端返回正确的值。如果我要将它翻译成API,它会返回正确的值。但它是一个int而不是一个字符串。
更新 试过,仍然没有工作。 男人,我仍然无法绕过它。
[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;
conDataBase.Open();
// Returns a null value from bans.Proof
// If placing a /w real GUID without null fields, rather than "ban.GuidOrIP" , the return populates properly.
MySqlCommand selectCommand = new MySqlCommand("SELECT * FROM a3bans.bans WHERE (GUID) LIKE(@GUID)", conDataBase);
selectCommand.Parameters.AddWithValue("@GUID", bans.GuidOrIP);
selectCommand.ExecuteNonQuery();
dbReader = selectCommand.ExecuteReader();
这仍会返回null