将数组传递给字符串

时间:2019-10-24 18:27:09

标签: javascript angular typescript

我正确创建了一个可以使用标签的函数,但是当保存在数据库中时,数据表示为数组,我希望将其表示为字符串,我该如何解决呢?

  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();
            }
        }

1 个答案:

答案 0 :(得分:-1)

如果要将字符串发送到服务器,只需致电:

this.tags.map((input) => "'" + input + "'").join(",")

并将其发送到您的服务器。但是,您需要确保没有SQL注入,所以我建议您使用数组并相应地生成插入。