Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要在单个列中存储多个以逗号(,)分隔的值_C#_Asp.net_Sql - Fatal编程技术网

C# 需要在单个列中存储多个以逗号(,)分隔的值

C# 需要在单个列中存储多个以逗号(,)分隔的值,c#,asp.net,sql,C#,Asp.net,Sql,我正在开发一个网站,其中包含n个民族的个人资料。 在此,用户将要做的是,他/她希望登录以查看人员详细信息。只有注册用户有权查看详细信息,并且他可以在一次登录时查看n个人员详细信息。 当用户单击每个配置文件时,其id应存储在数据库中 在数据库中,我有一个名为profileid的字段。 当用户第一次单击配置文件时,表示其id存储在profileid中 我想要的是,当同一个用户单击另一个配置文件id时,它应该使用逗号(,)存储在与前一个配置文件id相同的字段中 例如: 利润 20 20,15 20,1

我正在开发一个网站,其中包含n个民族的个人资料。 在此,用户将要做的是,他/她希望登录以查看人员详细信息。只有注册用户有权查看详细信息,并且他可以在一次登录时查看n个人员详细信息。 当用户单击每个配置文件时,其id应存储在数据库中

在数据库中,我有一个名为profileid的字段。 当用户第一次单击配置文件时,表示其id存储在profileid中

我想要的是,当同一个用户单击另一个配置文件id时,它应该使用逗号(,)存储在与前一个配置文件id相同的字段中

例如:

利润 20 20,15 20,15,10

同样地,它应该存储

这是我的更新查询

string Name = (string)(Session["Name"]);
        string time = (string)(Session["Time"]);
        string sql = ("UPDATE  History set RegID_UserProfile='" + Request.QueryString["id"].ToString() + "' WHERE UserName='" + Name + "' and LoginTime='" + time + "'");
        SqlCommand cmd7 = new SqlCommand(sql, con);
        int temp = cmd7.ExecuteNonQuery();
        if (temp == 1)
        {
            //aa
        }
        con.Close();

有人有这个想法吗

更改代码中的以下行将有助于实现您的目标:

string sql = ("UPDATE  History set RegID_UserProfile=RegID_UserProfile + ',' + '" + Request.QueryString["id"].ToString() + "' WHERE UserName='" + Name + "' and LoginTime='" + time + "'");
但是现在有一条建议,你正在做的事情和你正在做的方式已经过时了,有太多的缺陷和安全漏洞。你应该寻找新的数据库访问方法


希望这有帮助。

首先要改变的是:停止在SQL中使用字符串连接。改用参数化SQL。在你做任何其他事情之前先解决这个问题。看,不要这样做。将这些值存储在单独的表中,并使用外键将它们链接在一起。是的,Jon和Randy所说的。。。15年前,当我年轻愚蠢的时候,我建造了这样的东西。请从我们的错误中吸取教训。:)否,您要存储逗号分隔的值。您不需要这样做,事实上,正如Randy所建议的,将这些数据存储在单独的表中是一种更好的设计。SQL有两种数据类型,用于保存多个值
varchar
(或其任何变体)不是其中之一。它们是
xml
(但只有在您的数据自然是“XMLish”时才使用)和表。谢谢大家……我按照Randy建议的方式实现了它。