Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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# 我的查询允许我扩展SELECT语句吗_C#_Asp.net_Oracle_Soap - Fatal编程技术网

C# 我的查询允许我扩展SELECT语句吗

C# 我的查询允许我扩展SELECT语句吗,c#,asp.net,oracle,soap,C#,Asp.net,Oracle,Soap,在我的SOAP服务中,我目前通过ID(A_KONTO)进行搜索,现在我想修改这个查询,我也可以通过城市、地址或姓名(无论什么)进行搜索 在这种情况下,如果我按城市搜索,它需要以XML格式返回我的db中所有城市的列表 [WebMethod] public string GetAkontasById(string Id) { OracleConnection conn = new OracleConnection("DATA SOURCE=te

在我的SOAP服务中,我目前通过
ID(A_KONTO)
进行搜索,现在我想修改这个查询,我也可以通过城市、地址或姓名(无论什么)进行搜索

在这种情况下,如果我按城市搜索,它需要以XML格式返回我的
db
中所有城市的列表

[WebMethod]
        public string GetAkontasById(string Id)
        {
            OracleConnection conn = new OracleConnection("DATA SOURCE=test-1:1521/test;USER ID=testuser;PASSWORD=test123");
            OracleDataAdapter dr = new OracleDataAdapter("Select * from AKONTAS where A_KONTO='" + Id + "'", conn);
            DataSet ds = new DataSet();
            ds.Tables.Add("AKONTAS");
            dr.Fill(ds, "AKONTAS");
            DataTable tt = ds.Tables[0];
            return ds.GetXml();
        }
所以,如果我输入newyork,它需要返回所有数据的XML,纽约在哪里

像这样的

<string xmlns="http://tempuri.org/">
<NewDataSet><AKONTAS> 
<A_KONTO>123456</A_KONTO> 
<NAME>Test123   </NAME> 
<ADDRESS>Test123</ADDRESS> 
<CITY>New York</CITY> 
</AKONTAS> </NewDataSet>

<NewDataSet><AKONTAS> 
<A_KONTO>547896</A_KONTO> 
<NAME>sadadsa   </NAME> 
<ADDRESS>babab </ADDRESS> 
<CITY>New York</CITY> 
</AKONTAS> </NewDataSet>

<NewDataSet><AKONTAS> 
<A_KONTO>313365</A_KONTO> 
<NAME>teea</NAME> 
<ADDRESS>hahhd</ADDRESS> 
<CITY>New York</CITY> 
</AKONTAS> </NewDataSet>

<NewDataSet><AKONTAS> 
<A_KONTO>541223</A_KONTO> 
<NAME>dasasd</NAME> 
<ADDRESS>hsahdkjah</ADDRESS> 
<CITY>New York</CITY> 
</AKONTAS> </NewDataSet>
</string>

123456
测试123
测试123
纽约
547896
萨达萨
巴巴布
纽约
313365
蒂亚
哈哈哈
纽约
541223
达萨德
希沙德加
纽约

如果要搜索特定文本,可以使用LIKE条件

Select * from AKONTAS where A_KONTO LIKE '%"+Id+"%' OR NAME LIKE '%"+name+"%' OR ADDRESS LIKE '%"+address+"%' OR CITY LIKE '%"+city+"%'

你有一个名为
GetAkontas*ById*
的方法,你想扩展它。。。你应该考虑重命名它,你为什么不创建一个新的命名为<代码> SexChaKONAS(String SeaCURTION)< /COD>?您的方法名称应该始终按照它们所说的做。如果方法名表示它获取具有特定Id的内容,则它不应执行不同的操作。是的,您是对的。我有一个名为GetAkontasById的方法,我想对其进行扩展,使其能够按城市、姓名或地址进行搜索。我可以像GetAkontas一样重命名这个方法,因为表名是Akontas。我也是这样想的,但我的团队负责人想在一个函数中进行扩展,因为我尝试了所有事情,总是得到空的xml文件,只是检查了实际的SQL。。。你的问题很严重。检查HAAHAHAH,我检查了,但我总是得到空的XML OracleDataAdapter dr=new OracleDataAdapter(“从AKONTAS中选择*,其中MJESTO='“+MJESTO+'”,conn);你应该使用绑定参数,而不是连接字符串。我总是建议使用参数化查询,不允许SQL注入攻击。检查这个@bradbury9有趣的工作人员,但对我来说也不起作用。我使用了类似以下的命令OracleCommand OracleCommand=new OracleCommand(“从AKONTAS中选择MJESTO,其中MJESTO=:MJESTO”康涅狄格州);添加(新的OracleParameter(“Mjesto”,oraCommand));你没有名为“MJESTO”的专栏,对吗?你说你的专栏里有“A_KONTO,姓名,地址,城市”是的,我在db MJESTO有专栏
Select * from AKONTAS where A_KONTO LIKE '%"+Id+"%' OR NAME LIKE '%"+name+"%' OR ADDRESS LIKE '%"+address+"%' OR CITY LIKE '%"+city+"%'