Я хочу выполнить запрос sql, используя динамическое имя таблицы.динамическое имя таблицы, которое должно быть передано в sql-запросе
Я пробовал коды ниже, но ни один из них не работает для меня и не вызывает синтаксическую ошибку.
exec sp_executesql N'SELECT * FROM @Table1 D WITH (NOLOCK)',
N'@Table1 nvarchar(40)',@Table1=N'master.dbo.ABCD_data'
ИЛИ
exec sp_executesql N'SELECT * FROM [email protected]+_data D WITH (NOLOCK)',
N'@Variable1 nvarchar(4),',@Variable1=N'ABCD'
Может кто-нибудь помочь мне в создании этого динамического имени таблицы?
Получаю этот запрос из sql-профилировщика. Фактически я выполняю его в коде C# и получил это в профилировщике.
Мой C# код очень прост, его вид этого:
string query = @"SELECT * FROM [email protected]+_data D WITH (NOLOCK)";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Variable1", "ABCD");
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
adapter.Fill(dt);
}
Я попробовал этот путь уже, но это не помогло мне –
Может быть, вы могли бы разместить код C#, который ведет к этому запросу – Andomar
я добавил, что в настоящее время. Вы можете увидеть обновленный код выше. –