sudhakarthikeyan Ответов: 3

Как пройти город, используя для каждого цикла


Мой код выглядит следующим образом

Ниже приведен идентификатор int_city id следующим образом 1,2,4,6,8,11

      int[] numbers = { 1, 2, 4, 6, 8, 11 };
           foreach (int i in numbers)
           {
               System.Console.Write("{0} ", i);
           }
 
string connectionString = ConfigurationManager.ConnectionStrings["OneTransportConnectionString"].ConnectionString;
          SqlConnection sqlConnection = new SqlConnection(connectionString);
          SqlCommand cmd = new SqlCommand();
          SqlDataReader reader;

cmd.CommandText = "select DISTINCT date_TripDate AS TripDate,traveltype.varchar_TravelTypeCode AS TripType,contactss.Value as Mobilenumber,time_TripTime AS ShiftTime,trip.int_VehicleTripID as RequestID,varchar_TravelerID AS AssociateID,(Associate_FirstName + Associate_LastName) AS AssociateName,Gender AS Gender,varchar_ProjectId AS ProjectID,varchar_ProjectName AS ProjectName,city.varchar_CityName AS City,placeee.varchar_PlaceName AS SourceArea,place.varchar_PlaceName AS DestinationArea,varchar_StatusDescription As Status,reason.varchar_ReasonDescription AS AppType"
cmd.CommandText += " from [OneC_988].[dbo].[988_Details_VehicleRequest] request"
cmd.CommandText += " join [OneC_988].[dbo].[988_Details_VehicleTrip] trip  on request.int_VehicleRequestID=trip.int_VehicleRequestID"
cmd.CommandText += "and int_CityID = " "

cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
sqlConnection.Open();
 reader = cmd.ExecuteReader();
sqlConnection.Close();


в int_cityid я хочу передать следующую вещь

int[] numbers = { 1, 2, 4, 6, 8, 11 };
           foreach (int i in numbers)
           {
               System.Console.Write(("{0} ", i);
           }


вышеописанный-это проход нескольких городов в состоянии и.

для этого как это сделать в asp.net использование c#

Что я уже пробовал:

как пройти город, используя для каждого цикла

Anisuzzaman Sumon

Не так ясно

3 Ответов

Рейтинг:
2

OriginalGriff

Я думаю ты имеешь в виду:

SELECT ... FROM ... WHERE int_CityID IN (1, 2, 4, 6, 8, 11)

Вы можете использовать string.Join(",", numbers) чтобы сгенерировать список значений идентификаторов из вашего массива.


Рейтинг:
0

CPallini

Делать параметризованный запрос[^] и назовите его своим foreach петля.


Рейтинг:
0

Karthik_Mahalingam

попробовать это

cmd.CommandText += "and int_CityID in " + "(" + string.Join(",", numbers) + ")";

обратитесь к этому вопросу SQL-инъекция[^]