我正确创建了一个可以使用标签的函数,但是当保存在数据库中时,数据表示为数组,我希望将其表示为字符串,我该如何解决呢?
private tags: string[] = [];
private addTagToProduct($event): void {
this.tags.push($event.target.value);
$event.target.value = "";
}
private deleteTagFromProduct(tag: string): void {
this.tags = this.tags.filter((a) => a !== tag);
}
服务器
string tags;
public string Tags { get => tags; set => tags = value; }
public Rep CreateProduct(SqlConnection conn, Product products)
{
SqlCommand cmd = conn.CreateCommand();
SqlTransaction transaction;
conn.Open();
transaction = conn.BeginTransaction();
try
{
cmd.CommandText = "INSERT INTO[Products](Tags)" +
" Values (@TagS)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@Tags", SqlDbType.VarChar).Value = Tags;
cmd.Transaction = transaction;
cmd.ExecuteNonQuery();
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
}
finally
{
conn.Close();
}
}
答案 0 :(得分:-1)
如果要将字符串发送到服务器,只需致电:
this.tags.map((input) => "'" + input + "'").join(",")
并将其发送到您的服务器。但是,您需要确保没有SQL注入,所以我建议您使用数组并相应地生成插入。