luqman_ahmed Ответов: 2

Почему я получаю ошибку "must decalre the scalar @ptr" я добавил Все значения


 public bool add_employee(string []ptr,int age)
        {                              
          //       0       ,  1     ,2  ,3    ,  4 ,   5  ,     6      , 7      ,  8     , 9 , 10   ,11 
            SqlCommand cmd;
string query = "insert into Employee (First_Name,Last_Name,Age,Email,CNIC,Phone#,HouseAddress,Province,Hiredate,city,Salary,SSN) values(@ptr[0],@ptr[1],@age,@ptr[3],@ptr[4],@ptr[5],@ptr[6],@ptr[7],@ptr[8],@ptr[9],@ptr[10],@ptr[2])";
            cmd = new SqlCommand(query,conection);
            
  //  0           1     ,2,  3   , 4  ,   5       6           7       8       9       10 11 
//(First_Name,Last_Name,Age,Email,CNIC,Phone#,HouseAddress,Province,Hiredate,city,Salary,SSN) 
//(@ptr[0],   @ptr[1], @age,@ptr[3],@ptr[4],@ptr[5],@ptr[6],@ptr[7],@ptr[8],@ptr[9],@ptr[10],@ptr[11]);
            cmd.Parameters.AddWithValue("@ptr[0]", ptr[0]); // f name
            cmd.Parameters.AddWithValue("@ptr[1]", ptr[1]);//l name
            cmd.Parameters.AddWithValue("@age", age);      //age
            cmd.Parameters.AddWithValue("@ptr[3]", ptr[3]);//email
            cmd.Parameters.AddWithValue("@ptr[4]", ptr[4]);//cnic
            cmd.Parameters.AddWithValue("@ptr[5]", ptr[5]);//phone
            cmd.Parameters.AddWithValue("@ptr[6]", ptr[6]);//house address
            cmd.Parameters.AddWithValue("@ptr[7]", ptr[7]);//province
            cmd.Parameters.AddWithValue("@ptr[8]", ptr[8]);//date
            cmd.Parameters.AddWithValue("@ptr[9]", ptr[9]);//city
            cmd.Parameters.AddWithValue("@ptr[10]", ptr[10]);//salary
            cmd.Parameters.AddWithValue("@ptr[2]", ptr[2]);//ssn


             
             if (cmd.ExecuteNonQuery() == 1)
          {
              reader.Close();
              return true;
          }
          else
          {
              reader.Close();
              return false;
          }
          

        }


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

я искал в google о том, что должен объявить скалярную ошибку, но я удалил ее, но все еще получаю ошибку

2 Ответов

Рейтинг:
1

F-ES Sitecore

Использовать @ptr0 и т. д. Для названия парам, а не @ПТР[0]


Рейтинг:
0

Dave Kreskowiak

В имена параметров нельзя заключать квадратные скобки. Они зарезервированы для имен, в которых есть пробелы или используется зарезервированное слово в качестве имени.