Member 13608602 Ответов: 1

Как сделать sqlconnection с переменными


Привет

я использую следующий код:

using (SqlConnection con = new SqlConnection())
  {
      try
      {
          con.ConnectionString = "Data Source=PC;Persist Security Info=True;User ID=sa;Initial Catalog=XXXX; Password=XXXXX";
          con.Open();

          adap = new SqlDataAdapter("select Description, Status, Loc from TableKit where IdStatus = 1 and Idstore = 1", con);

          ds = new System.Data.DataSet();
          adap.Fill(ds, "Idkit_details");
          DataTable dstable = ds.Tables["Idkit_details"];


это работает, но теперь мне нужно добавить к предложению adap два новых параметра:
IdStatus 
и
Idstore 
.

с различными пользовательскими кнопками
IdStatus 
и
Idstore 
получает разные состояния, 1,2,3, но оба являются int

как я могу изменить фактические параметры с помощью переменных параметров?

adap = new SqlDataAdapter("select Description, Status, Loc from TableKit where IdStatus = 1 and Idstore = 1", con);


спасибо

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

adap = new SqlDataAdapter("select Description, Status, Loc from TableKit where IdStatus = 1 and Idstore = 1", con);

1 Ответов

Рейтинг:
6

Karthik_Mahalingam

пробовать

private void button1_Click(object sender, EventArgs e)
      {
          string statusCommaSeperatedValue = "1,2,3"; // get the value from any control (textbox or listbox or any input)
          string storeId = "1"; // get the value from any input

         DataTable dt =  GetData(statusCommaSeperatedValue,storeId);
      }

      private static DataTable GetData(string statusCommaSeperatedValue, string storeId)
      {
          DataTable dt = new DataTable();

              try
              {
                  SqlConnection con = new SqlConnection();
                  con.ConnectionString = "Data Source=PC;Persist Security Info=True;User ID=sa;Initial Catalog=XXXX; Password=XXXXX";
                  string query = "select Description, Status, Loc from TableKit where IdStatus in ( @status ) and Idstore = @store";
                  SqlCommand cmd = new SqlCommand(query, con);
                  cmd.Parameters.AddWithValue("@status", statusCommaSeperatedValue);
                  cmd.Parameters.AddWithValue("@store", storeId);
                  cmd.CommandType = CommandType.Text;
                  SqlDataAdapter adap = new SqlDataAdapter(cmd);
                  adap.Fill(dt);
              }
              catch (Exception ex)
              {
                  throw;
              }

          return dt;
      }
  }


Member 13608602

это решение идеально подходит для моего. Большое спасибо!.

Karthik_Mahalingam

Добро пожаловать

Maciej Los

5ed!

Karthik_Mahalingam

Спасибо Мацей