我的网站上有一个上传按钮,客户可以通过该按钮上传csv文件。上传.csv文件后,csv数据将显示在屏幕上的datagrid视图中,上传后,客户可以通过点击验证按钮验证数据,该按钮基本上检查上传的数据是否在特定列中获得了正确的数据。现有的数据库。我想做的是根据dbo.existingcustomers *验证特定列(productid)。如果相应的productid存在于dbo.existing客户中,那么状态(dbo.exisitingcustomers中的列)应填充“ok”如果在dbo.exisiting中不存在productid,则状态(dbo.exisitingcustomers中的列)应该填写“请检查您的产品”。检查上传的.csv文件的每一行后,系统应显示带有名为Status的额外列的数据,该列将显示每行的上述消息。任何帮助都将受到高度赞赏。我可以上传csv文件并将数据插入sql server但是我在检查现有的productid时遇到了问题。因为我想确保客户能够在我的sql server上找到正确的产品,如果他们上传了真实数据库中不存在的错误产品,他们应该修改它以便继续下一步。目前客户都有各自的产品,我只是想检查一下,如果他们错误输入了错误的产品,这将节省大量的时间* dbo.existingcustomers = table(sql server) 我的webportal上有一个上传按钮,客户可以通过该按钮上传csv文件。上传.csv文件后,csv数据将显示在屏幕上的数据网格视图中,上传后,客户可以通过点击验证按钮验证数据,该按钮基本上检查上传的数据是否在特定列中获得了正确的数据现有数据库。
我想要做的是针对dbo.existingcustomers *验证特定列(productid)。如果相应的productid存在于dbo.existing客户中,那么状态(dbo.exisitingcustomers中的列)应该填充“ok”如果在dbo.exisiting中不存在productid那么状态(dbo.exisitingcustomers中的列) )应填写“请检查您的产品”。检查上传的.csv文件的每一行后,系统应显示带有名为Status的额外列的数据,该列将显示每行的上述消息。
任何帮助都将受到高度赞赏。
我可以上传csv文件并将数据插入到sql server中,但是我在检查现有的productid时遇到了问题。因为我想确保客户输入我的sql服务器上存在的正确产品,如果他们上传了实时数据库中不存在的错误产品,他们应该修改它以继续下一步。目前客户都有各自的产品,我只是想检查一下,如果他们错误地输入了错误的产品,这将节省大量的时间。
如果有人可以帮我写一个可以解决这个问题的查询。
* dbo.existingcustomers = table(sql server)
答案 0 :(得分:0)
通常,您需要编写代码来遍历数据网格并执行查询以检查每个字段 - 例如
select * from [dbo.existingcustomers] where productid = ?
如果没有关于您的数据库的更多信息,很难更清楚。
分享并享受。
答案 1 :(得分:0)
dbo.existingcustomers表中存在多少个产品ID?典型的csv文件中存在多少行?
如果用户上传的文件包含超过5-10行且表格中的产品ID不超过100-200,则更好的方法是一次选择所有ID,然后在代码中搜索ID集合,因为循环中的多个SQL查询不是一个好主意。
此外,即使表中有1000-2000个产品ID,您也可以使用这种方式,但需要使用更多的智能算法来查找ID集合中的ID,例如二进制搜索(例如,Array.BinarySearch)在.net框架中)。