问题 soap.executequery concatenate变量值

Aussieboy.

众所周知的成员
加入
9月7日,2020年
消息
49
编程经验
Beginner
嗨,如何将值连接到该语句的第二部分。
我尝试了许多格式的尝试,但没有运气。
谢谢,

Code:
retobj = MySoap.ExecuteQuery("INSERT INTO Data (Value1, Value2, Value3, Value4, Value5) VALUES (Value1, Value2, Value3, Value4, Value5)", obj, out limit);
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
您已经询问了同样的问题并提供了答案。一个字符串是一个字符串,无论它来自哪里还是去。您已经知道如何将值组合成一个字符串。


也就是说,构建SQL陈述,这种方式不理想,并且通常应该避免有利于使用参数。目前尚不清楚该选项是否可用。什么类型是 mysoap.,什么是签名 executequery. 是否有任何其他过载?我对方法名称进行了快速搜索,它似乎不是标准的.NET方法。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
我想知道我是否可以将SQL语句连接在execute之外,然后使用它?
当然可以。这是一个字符串。就像我说的那样,一个字符串是一个字符串,无论它来自哪里还是去哪里。无论它们周围还有什么,所有字符串都可以相同的方式对待。我向您展示了两种方法可以在您的其他线程中插入值,并且可以在此处在此处使用它们,或者您可以首先使用它们并将结果分配给变量,然后在当前代码中使用该变量。它将是一个字符串,所以您可以使用它在其中的字符串中使用它。

也就是说,在谈到SQL代码时,串联串联的原因之一是因为格式化和特殊字符很重要。如果您要使用它,您需要确保所有值都会适当地分隔,如果需要,正确格式化并逃脱。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,881
地点
切萨皮克,va.
编程经验
10+
我还会警告暴露一个Web方法(通过SOAP或REST),使用户无法访问数据库。为什么你甚至需要这个SOAP方法来执行数据库查询?为什么你不能直接连接到数据库并执行命令对抗它?如果思想是您不想揭示裸体的数据库,那么为什么将裸体Web方法暴露在互联网上可以在数据库上做任何事情?
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,714
地点
悉尼,澳大利亚
编程经验
10+
作为 @skydiver. 建议,如果这是您自己的方法,那么允许用户提供任意SQL语句并执行它是荒谬的。他们可以截断每个表或您应用程序是否有权执行的其他任何表。如果您希望能够将值插入特定表,那么您应该具体为此。参数是值,然后在方法内部创建SQL,这意味着您可以使用ADO.NET参数进行更大的安全性。每台桌子每张操作将有一种方法。这似乎可能是很多工作,但如果你害怕写一些方法,那么软件开发可能不是你的东西。
 

sh

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
无论它是否连接到网。这对程序员来说真的不是一种良好的态度。

这有点像说;这是一个美好的一天,所以我会去马丁的一半......

有三种方法可以做事。正确的方法,错误的方式,以及开发人员标准的方式。

当您的网络上的某人决定尝试执行自己的命令时,将学习您的课程只是为了看它是有效的。 :哈哈:
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,881
地点
切萨皮克,va.
编程经验
10+
当您的网络上的某人决定尝试执行自己的命令时,将学习您的课程只是为了看它是有效的。 :哈哈:
太成了。想象一下我在成功设法对我公司的信息安全的网页上进行简单的HTML注入攻击时,我的意见是推广如何编写安全软件的网页。我不希望它成功地考虑到该页面据称,人们授权,这些人撰写了该公司的安全审查的人。
 
最佳 底部