Уточняю вопрос.
Провайдер SQL позволяет легко описать параметр @ID и внести изменения следующей командой вставки:
ADR.InsertCommand=new SqlCommand("INSERT INTO Tab(ID) VALUES(@ID)",cn);
...
В случае с провайдером OLE DB мне удается реализовать эту строку лишь с использованием знка ?, т.е.:
ADR.InsertCommand=new OleDbCommand("INSERT INTO Tab(ID) VALUES(?)",cn);
Если я пытаюсь вставить туда также @ID , то при выполнении
ADR.Update(DS,"MyTab");
выдается сообщение о том, что необходимо объявить переменную @ID.
В чем дело?
Здравствуйте, Azat, Вы писали:
A>В чем дело?
The SQL Server .NET Data Provider does not support the question mark (?) placeholder for passing parameters to a SQL Statement or a stored procedure called by a Command of CommandType.Text. In this case, named parameters must be used.
The OLE DB .NET Provider does not support named parameters for passing parameters to a SQL Statement or a stored procedure called by an OleDbCommand when CommandType is set to Text. In this case, the question mark (?) placeholder must be used.