我有一个三列的表
MyDate : DateiIme
MyBlob: blob
Id: String
我想以Json的形式返回MyDate和MyBlob。表中可以有多条记录。
public class MyData
{
public string? MyDate { get; set; };
public string? MyBlob { get; set; };
}
public async Task<string> GetQueryResult(string Id)
{
MyData data = new MyData();
List<MyData> MyList = new List<MyData>();
string sqlSelect = string.Format("Select MyDate, MyBlob from MyTablee WHERE Id = '{0}'", Id);
try
{
MySqlCommand sqlcmd = new MySqlCommand();
MySqlConnection connetcion = new MySqlConnection(connectionString);
sqlcmd.Connection = connetcion;
sqlcmd.CommandTimeout = 0;
sqlcmd.CommandType = CommandType.Text;
sqlcmd.CommandText = sqlSelect;
connetcion.Open();
using (connetcion)
{
int count = 0;
using (MySqlDataReader reader = sqlcmd.ExecuteReader())
{
while (reader.Read())
{
data.MyDate = reader.GetString(0);
data.MyBlob = reader.GetString(1);
MyList.Add(data);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
var json = JsonSerializer.Serialize(results);
return json;
}
Postman中的输出为:
"{\"MyDate\":\"1/30/2023 9:16:40 PM\",\"MyBlob\":\"@MyBlob\"}"
我不确定blob数据到JSON的转换是否正确。谢谢。
1条答案
按热度按时间egmofgnx1#
您的表可能不包含任何BLOB数据,但在该列中包含文字字符串
@MyBlob
。出现这种情况的原因可能是使用了
INSERT INTO MyTablee(MyDate, MyBlob) VALUES(NOW, '@MyBlob');
这样的SQL语句,该语句插入了文本@MyBlob
。确保插入代码的结构如下所示:
特别是,
INSERT
语句中的参数名没有引号,并且使用命令参数来发送值,而不是字符串连接。