Позволяет ли мой запрос расширять выбор SELECT - PullRequest
0 голосов
/ 27 сентября 2019

В моем сервисе SOAP у меня в настоящее время поиск по ID(A_KONTO), и сейчас я хочу изменить этот запрос, который я могу искать также по городу или адресу или имени (что угодно)

A_KONTO     NAME        ADDRESS         CITY
123456      Test123     West Cost       New York
321456      Nunde       East Cost       Washington
123666      Huhned      Schwaube Street     Berlin
123456      Test123     West Cost       New York
321456      Nunde       East Cost       New York
123666      Huhned      Schwaube Street     New York

В этом случаеесли я ищу по городу, мне нужно вернуть список всех городов в моем db в формате XML.

[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();
        }

Так что, если я, например, введу Нью-Йорк, он должен вернуть 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>

1 Ответ

1 голос
/ 27 сентября 2019

Вы можете использовать условие LIKE, если вы ищете определенный текст.

Select * from AKONTAS where A_KONTO LIKE '%"+Id+"%' OR NAME LIKE '%"+name+"%' OR ADDRESS LIKE '%"+address+"%' OR CITY LIKE '%"+city+"%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...