-2

次の行を使用して文字列をデータベースに保存していますが、現在、単一の文字列として保存できません。文字列にコンマが含まれるたびに、データベーステーブルに新しい行が作成されます。

cmd.Parameters.AddWithValue("@ImageURL", String.Join(",", img.ToArray()));

それについて行く方法は何ですか?

これは私がテーブルを定義した方法です:

@ImageURL VARCHAR(max)

AS
BEGIN
  SET NOCOUNT ON added to prevent extra result sets from
  interfering with SELECT statements.
  SET NOCOUNT ON;


  Insert statements for procedure here
  insert into 
  DECLARE @String    VARCHAR(100) 

  SET @String =''            

  IF(LEN(@Images)>0)        
  BEGIN        
       DELETE FROM Business_images WHERE BusinessId=@BusinessId        
  END        

  WHILE LEN(@ImageURL) > 0              
  BEGIN           
    SET @String = LEFT(@ImageURL, ISNULL(NULLIF(CHARINDEX(',', @ImageURL) - 1, -1),  LEN(@ImageURL)))              
    SET @ImageURL = SUBSTRING(@ImageURL, ISNULL(NULLIF(CHARINDEX(',', @ImageURL), 0), LEN(@ImageURL)) + 1, LEN(@ImageURL)) 

    insert into Images(ImageURL) values (@String)
  END
END
4

1 に答える 1

3
string specialString = "this is silly, string,,not so special''special";
using (SqlConnection conn = new SqlConnection(connectionString))
{
    using (SqlCommand command = new SqlCommand("Insert into t1 (col1) VALUES (@parame)"))
    {
        command.Connection = conn;
        command.Parameters.AddWithValue("@parame",specialString);
        command.ExecuteNonQuery();
    }
}

参考:SQLサーバーに挿入できました。私の場合col1はタイプですnvarchar

于 2012-06-20T16:14:13.107 に答える